188 votes

Comment puis-je ajouter un attribut class à un élément HTML généré par MVC ' s HTML Helpers ?

ASP.NET MVC peut générer des éléments HTML à l'aide de HTML Helpers, par exemple @Html.ActionLink(), @Html.BeginForm() et ainsi de suite.

Je sais que je peux spécifier les attributs de forme par la création d'un objet anonyme et passer de cet objet pour l' (quatrième dans ce cas) htmlAttributes paramètre spécifiant une id pour l'élément:

Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"})

Mais quel est le class d'attribut? Évidemment, cela ne fonctionne pas:

Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"})

En tant que juste jette aléatoire des erreurs de syntaxe lors de mon point de vue est demandé, car il s'attend à autre chose après avoir rencontré le mot clé C# class.

J'ai aussi essayé:

new { _class = "myclass"}

et

new { class_ = "myclass"}

Mais ils n'ont pas de travail, comme le souligne remplacés par des tirets.

Je sais que je peux tout aussi bien écrire les éléments HTML à la main ou emballez-la forme à l'intérieur d'un <div class="myClass">, mais je serais encore être intéressés de savoir comment il est censé être fait.

3voto

Tim Points 189

Les meilleures pratiques actuelles dans le CSS de développement est de créer plus général des sélecteurs avec les modificateurs qui peut être utilisé aussi largement que possible à travers le site web. Je voudrais essayer d'éviter de définir des styles distincts pour chaque éléments de la page.

Si le but de la classe CSS sur l' <form/> élément est de contrôler le style des éléments à l'intérieur de la forme, vous pouvez ajouter l'attribut de classe existantes <fieldset/> élément qui encapsule toute forme par défaut dans les pages web générées par ASP.NET MVC. Une classe CSS sur la forme est rarement nécessaire.

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