ASP.NET MVC peut générer des éléments HTML à l'aide des HTML Helpers, par exemple @Html.ActionLink()
, @Html.BeginForm()
et ainsi de suite.
Je sais que je peux spécifier des attributs de formulaire en créant un objet anonyme et passer cet objet pour le (quatrième dans ce cas) htmlAttributes
paramètre où en spécifiant un id
pour l'élément:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"})
Mais qu'en est-il de l' class
attribut? Évidemment, cela ne fonctionne pas:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"})
Comme cela lève simplement des erreurs de syntaxe aléatoires lorsque ma vue est demandée, car il 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 non plus fonctionné, car les traits de soulignement sont remplacés par des tirets .
Je sais que je peux aussi bien écrire les éléments HTML à la main ou envelopper le formulaire dans un <div class="myClass">
, mais je serais toujours intéressé de savoir comment cela est censé être fait.
la source
La meilleure pratique actuelle dans le développement CSS consiste à créer des sélecteurs plus généraux avec des modificateurs qui peuvent être appliqués aussi largement que possible sur tout le site Web. J'essaierais d'éviter de définir des styles séparés pour les éléments de page individuels.
Si le but de la classe CSS sur l'
<form/>
élément est de contrôler le style des éléments dans le formulaire, vous pouvez ajouter l'attribut de classe l'<fieldset/>
élément existant qui encapsule n'importe quel formulaire par défaut dans les pages Web générées par ASP.NET MVC. Une classe CSS sur le formulaire est rarement nécessaire.la source