ASP.NET MVC kann HTML - Elemente mit Hilfe von HTML - Helfern, zum Beispiel erzeugen @Html.ActionLink()
, @Html.BeginForm()
und so weiter.
Ich weiß, dass ich Formularattribute angeben kann, indem ich ein anonymes Objekt erstelle und dieses Objekt für den (in diesem Fall vierten) htmlAttributes
Parameter übergebe, wobei ein id
für das Element angegeben wird:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"})
Aber was ist mit dem class
Attribut? Offensichtlich funktioniert das nicht:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"})
Da dies nur zufällige Syntaxfehler auslöst, wenn meine Ansicht angefordert wird, weil sie nach dem Auftreten des Schlüsselworts C # etwas anderes erwartet class
.
Ich habe auch versucht:
new { _class = "myclass"}
und
new { class_ = "myclass"}
Sie funktionierten aber auch nicht, da die Unterstriche durch Bindestriche ersetzt werden .
Ich weiß, dass ich die HTML-Elemente genauso gut von Hand schreiben oder das Formular in ein <div class="myClass">
einbinden kann, aber ich wäre trotzdem interessiert zu wissen, wie es gemacht werden soll.
quelle
Derzeitige Best Practice in der CSS-Entwicklung besteht darin, allgemeinere Selektoren mit Modifikatoren zu erstellen, die auf der gesamten Website so weit wie möglich angewendet werden können. Ich würde versuchen zu vermeiden, separate Stile für einzelne Seitenelemente zu definieren.
Wenn der Zweck der CSS-Klasse für das
<form/>
Element darin besteht, den Stil der Elemente im Formular zu steuern, können Sie das Klassenattribut zum vorhandenen<fieldset/>
Element hinzufügen, das jedes Formular standardmäßig in von ASP.NET MVC generierten Webseiten kapselt. Eine CSS-Klasse im Formular ist selten erforderlich.quelle