Caixa de seleção Asp.net e atributo de dados html
No asp.net, se você usar um atributo personalizado, normalmente ele será renderizado como está.
Considerando essa marcação (Nota: atributos comoid
, name
efor
foram removidos em todos os exemplos, pois seus id / nomes gerados são verbosos):
<asp:TextBox runat="server" data-foo="bar" />
É processado em asp.net como:
<input type="text" data-foo="bar" />
Isto é, o asp.net mantémdata-foo
intocado.
A caixa de seleção geralmente é renderizada assim:
<asp:CheckBox runat="server" Text="Normal" />
Processa como:
<input type="checkbox" />
<label>Normal</label>
Mas se você adicionar um atributo personalizado em uma caixa de seleção:
<asp:CheckBox runat="server" Text="Custom attribute" data-foo="bar" />
Ele processa como:
<span data-foo="bar">
<input type="checkbox" />
<label>Custom attribute</label>
</span>
Como você pode ver, um intervalo é renderizado para conter o atributo. Isso também acontece se você adicionar o atributo no código por trás. Isso não acontece com nenhum outro HtmlControl, AFAIK.
Alguém sabe por que esse espaço é processado para manter o atributo?
Existe alguma maneira de renderizar o atributo na tag de entrada?