105 votes

Attributs html trait d’Union avec asp.net mvc

Est-il plus agréable de syntaxe lors de la création d'éléments avec un trait d'union attributs au lieu d'utiliser:

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

En regardant le code HTML de spécifications pour le projet de normes HTML 5 et WIA ARIA il semble que des traits d'union dans les attributs HTML sont en train d'être planifiée à être plus fréquente, comme une sorte de simple nom de l'espacement.

E. g. HTML 5 propose des attributs personnalisés avec le préfixe data- et WIA ARIA utilise l' aria- préfixe pour tous les WIA ARIA attributs.

Lors de l'utilisation de HTML helpers dans ASP.NET MVC comme <%= Html.TextBox("name", value, new { attribute = attributeValue }) %> anonyme objet est converti à un dictionnaire.

Malheureusement, en C#, il n'y a pas de support pour les traits d'union dans les noms, donc, la seule alternative est de créer un dictionnaire. La syntaxe de ce qui est très détaillé, quelqu'un a vu une belle alternative ou un moyen simple de modifier la fonctionnalité de ASP.NET MVC, HTML extensions sans avoir à ré-écrire l'intégralité de l'extension?

193voto

Tokn Points 1357

Utiliser un trait de soulignement dans le nom d’attribut de données, et il va comme par magie il gérer pour vous, en convertissant en un trait d’Union. Il sait que vous voulez un trait d’Union plutôt qu’un trait de soulignement comme traits de soulignement ne sont pas valides dans les attributs html.

18voto

Zarepheth Points 394

La réponse donnée à ActionLink htmlAttributes suggère d’utiliser des caractères de soulignement au lieu de traits d’Union. MVC.Net est censé pour émettre des traits d’Union plutôt que les traits de soulignement lors de l’envoi de la page au navigateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X