[英]How to update ID of a control from usercontrol
我有一個aspx頁面,其中有一個div控件id =“ mainblock”
我創建了一個用戶控件,該控件根據登錄頁面動態檢索值。
我必須將此值作為ID傳遞給div id =“ mainblock”,以便將其ID更改為該值。
我正在嘗試很多事情,但根本無法工作。
首先,我嘗試在用戶控件中編寫服務器端代碼以進行更新
protected void Page_Load(object sender, EventArgs e)
{
divid = dynamicid();
var control = this.Page.FindControl("mainblock");
if (control != null)
{
control.ID = divid.ToString();
}
}
此操作無濟於事,不會更改父頁面中DIV的ID。
我嘗試使用javascript,以便從用戶控件的控件復制內部文本並像這樣更新當前的頁面控件id
<script type="text/javascript">
document.getElementById('mainblock').id = document.getElementById('<%= usercontrolidvalue.ClientID %>').innerText;
</script>
這給了我這個錯誤。.僅包含內容控件的內容頁面中直接允許包含內容控件。
有沒有辦法我可以從usecontrol更新控件的當前ID
任何幫助請
您不能從隱藏代碼中更改ID的值。 但是,您可以通過aspx代碼設置客戶端ID。
您是否有一組有限的id值? 然后,您可以在aspx中這樣做:
<div runat="server" clientidmode="Static" id="div1">one</div>
<div runat="server" clientidmode="Static" id="div2">two</div>
<div runat="server" clientidmode="Static" id="div3">three</div>
<div runat="server" clientidmode="Static" id="div4">four</div>
然后在您的代碼后面根據需要設置可見性:
//Condition...
div1.Visible = false; //will not render
div2.Visible = false; //will not render
div3.Visible = false; //will not render
div4.Visible = true; //the only one shown
這將在輸出HTML中僅保留div 4。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.