Atsortingbuts HTML avec trait d’union avec asp.net mvc

Existe-t-il une syntaxe plus agréable lors de la création d’éléments avec des atsortingbuts composés d’un trait d’union au lieu d’utiliser:

<%= Html.TextBox ("name", value, new Dictionary { {"data-foo", "bar"} }) %> 

En examinant les spécifications HTML des normes proposées HTML 5 et WIA ARIA, il semble que les traits d’union dans les atsortingbuts HTML soient plus courants en tant qu’espacement simple des noms.

Par exemple, HTML 5 propose que les atsortingbuts personnalisés soient préfixés par data- et WIA ARIA utilise le préfixe aria- pour tous les atsortingbuts WIA ARIA.

Lorsque vous utilisez des helpers HTML dans ASP.NET MVC tels que l’object anonyme est converti en dictionnaire.

Malheureusement, en C #, il n’y a pas de prise en charge des tirets dans les noms. La seule alternative est de créer un dictionnaire. La syntaxe qui est très verbeuse, quelqu’un a-t-il vu une alternative plus agréable ou un moyen simple de modifier la fonctionnalité des extensions HTML d’ASP.NET MVC sans avoir à ré-écrire l’intégralité de l’extension?

Utilisez un trait de soulignement dans le nom de l’atsortingbut de données et il le traitera comme par magie, en le convertissant en trait d’union. Il sait que vous voulez un trait d’union plutôt qu’un trait de soulignement car les traits de soulignement ne sont pas valides dans les noms d’atsortingbuts HTML.

 < %= Html.TextBox("name", value, new { @data_foo = "bar"}) %> 

La réponse fournie dans ActionLink htmlAtsortingbutes suggère d’utiliser des traits de soulignement au lieu de tirets. MVC.Net est censé émettre des tirets au lieu des traits de soulignement lors de l’envoi de la page au navigateur.