簡體   English   中英

如何從后面的代碼中獲取屬性的值?

[英]How can I get the value of an attribute from code behind?

我有一個復選框,負責顯示/隱藏div。 我創建了一個自定義屬性“ myDiv”,並​​在其中放置了復選框負責的div的名稱。

<asp:CheckBox ID="CheckBox1" myDiv="divRegisteration" myText=" הרשמה - " runat="server" AutoPostBack="true" Font-Size="18px" Font-Bold="true" Text=" הרשמה - הצג" OnCheckedChanged="CheckBox_CheckedChanged"/>

當我嘗試從后面的代碼中獲取div的名稱時,出現錯誤:

 protected void CheckBox_CheckedChanged(object sender, EventArgs e)
    {
        if (((CheckBox)(sender)).Checked==true)
        {
            CheckBox chk = (CheckBox)(sender);            
            object div = chk.Parent.FindControl(chk.Attributes["myDiv"]);

它找不到屬性“ myDiv”。 由於某種原因,它只能找到2個屬性,我什至都不知道它們來自何處。 還有另一種獲取自定義屬性的方法嗎?

您只能將屬性設置為在客戶端渲染,當from是POSTED時,無法直接訪問屬性值(在服務器端)。 要訪問屬性值,您可以使用可通過javascript在客戶端設置的隱藏字段。

您可以通過使用jQuery來做到這一點

if ($('#CheckBox1').is(':checked')) {

    $("#Urdiv").show();
} else {
    $("#Urdiv").hide();
} 

在CheckBox1使用clientId

是的,您可以從后面的代碼中獲取屬性的值。 例如,如果您具有這樣的復選框控件:

<input type="checkbox" runat="server" id="chkBoxCreate" class="item" itemid="1" onclick="Create();" />

那么您可以在下面的代碼中獲取它的價值,如下所示:

string itemId = chkBoxCreate.Attributes["itemid"];

請享用 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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