簡體   English   中英

如何從用戶控件更新控件的ID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM