Existe uma sintaxe mais agradável ao criar elementos com atributos hifenizados em vez de usar:
<%= Html.TextBox ("name", value, new Dictionary<string, object> { {"data-foo", "bar"} }) %>
Olhando para as especificações HTML para os padrões propostos HTML 5 e WIA ARIA , parece que os hifens nos atributos HTML estão sendo planejados para serem mais comuns como uma espécie de espaçamento simples entre nomes.
Por exemplo, o HTML 5 propõe que os atributos personalizados são prefixados com data-
e WIA ARIA usa o aria-
prefixo para todos os atributos WIA ARIA.
Ao usar ajudantes HTML na ASP.NET MVC, como <%= Html.TextBox("name", value, new { attribute = attributeValue }) %>
o objeto anônimo é convertido em um dicionário.
Infelizmente, em C # não há suporte para hifens nos nomes, então a única alternativa é criar um dicionário. A sintaxe para a qual é muito prolixa, alguém viu uma alternativa melhor ou uma maneira simples de alterar a funcionalidade das extensões HTML do ASP.NET MVC sem ter que reescrever a extensão inteira?
fonte
A resposta fornecida em ActionLink htmlAttributes sugere o uso de sublinhados em vez de hifens. MVC.Net deve emitir hifens em vez de sublinhados ao enviar a página para o navegador.
fonte