Asp.net-Kontrollkästchen und HTML-Datenattribut

Wenn Sie in asp.net ein benutzerdefiniertes Attribut verwenden, wird es normalerweise unverändert wiedergegeben.

In Anbetracht dieses Aufschlags (Hinweis: Attribute wieid, name undfor wurden in allen Beispielen entfernt, da die generierten IDs / Namen wortreich sind):

<asp:TextBox runat="server" data-foo="bar" />

Wird in asp.net gerendert als:

<input type="text" data-foo="bar" />

Das heißt, asp.net behältdata-foo unberührt.

Kontrollkästchen werden normalerweise so dargestellt:

<asp:CheckBox runat="server" Text="Normal" />

Rendert als:

<input type="checkbox" />
<label>Normal</label>

Wenn Sie jedoch ein benutzerdefiniertes Attribut für ein Kontrollkästchen hinzufügen:

<asp:CheckBox runat="server" Text="Custom attribute" data-foo="bar"  />

Es wird dargestellt als:

<span data-foo="bar">
    <input type="checkbox" />
    <label>Custom attribute</label>
</span>

Wie Sie sehen, wird ein Bereich für das Attribut gerendert. Dies geschieht auch, wenn Sie das Attribut im Code dahinter hinzufügen. Dies passiert bei keinem anderen HtmlControl, AFAIK.

Weiß jemand, warum diese Spanne gerendert wird, um das Attribut zu halten?

Gibt es überhaupt das Attribut im Eingabe-Tag zu rendern?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage