2015-02-23 7 views
6

Ich habe eine ASP-Checkbox in meiner Form:Wie HTML5 Daten- abrufen * Attribute mit C#

<asp:CheckBox id="option" runat="server" OnCheckedChanged="checkChange" data-attributeA="somevalue1" data-attributeB="somevalue2" AutoPostBack="true" />` 

In meinem OnCheckedChanged Ereignis ich diese beiden Daten-Attribute abrufen möchten.

protected void checkChange(object sender, EventArgs e) {} 

Wie mache ich das?

+1

möglich Duplikat [Wie kann ich Textbox Attribute in ASP.Net Zugriff auf benutzerdefinierte erhalten? ] (http://stackoverflow.com/questions/12785946/how-can-i-access-custom-textbox-attributes-in-asp-net) – musefan

Antwort

8

Derselbe Ansatz in der von @musefan freigegebenen Verknüpfung funktioniert für Sie.

Ich habe eine CheckBox erstellt:

<asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged" dataAttributeA="Test Custom Attr A" dataAttributeB="Test Custom B" Text="Check it or dont" AutoPostBack="True" /> 

Dann wird ein Verfahren das geänderte Ereignis zu behandeln:

protected void CheckBox1_CheckedChanged(object sender, EventArgs e) 
    { 
     String customAttr1 = CheckBox1.Attributes["dataAttributeA"].ToString(); 
     String customAttr2 = CheckBox1.Attributes["dataAttributeB"].ToString(); 

     Response.Write("<h1> Custom Attributes A and B = " + customAttr1 + " " + customAttr2); 

    } 

Und schließlich habe ich die Autopostback-Eigenschaft des CheckBox auf true gesetzt, so dass es Veränderung ist Das Ereignis wird ausgelöst, sobald es angeklickt wird.

Ich habe das erwartete Ergebnis

Benutzerdefinierte Attribute A und B = Test Individuelle Attr A Test Individuelle B