Флажок Asp.net и атрибут данных html
В asp.net, если вы используете пользовательский атрибут, обычно он отображается как есть.
Учитывая эту разметку (note: такие атрибуты, какid
, name
а такжеfor
были удалены во всех примерах, поскольку их сгенерированные идентификаторы / имена являются многословными):
<asp:TextBox runat="server" data-foo="bar" />
Отображается в asp.net как:
<input type="text" data-foo="bar" />
То есть asp.net хранитdata-foo
нетронутым.
Флажок обычно отображается так:
<asp:CheckBox runat="server" Text="Normal" />
Представляет как:
<input type="checkbox" />
<label>Normal</label>
Но если вы добавите пользовательский атрибут в флажок:
<asp:CheckBox runat="server" Text="Custom attribute" data-foo="bar" />
Это выглядит как:
<span data-foo="bar">
<input type="checkbox" />
<label>Custom attribute</label>
</span>
Как вы можете видеть, интервал рендеринга для хранения атрибута. Это также происходит, если вы добавляете атрибут в коде. Этого не происходит с любым другим HtmlControl, AFAIK.
Кто-нибудь знает, почему этот диапазон отображается для хранения атрибута?
Есть ли способ визуализировать атрибут во входном теге?