ASP.NET MVC może generować elementów HTML za pomocą HTML pomocników, na przykład @Html.ActionLink()
, @Html.BeginForm()
i tak dalej.
Wiem, że mogę określić atrybuty formularza, tworząc anonimowy obiekt i przekazać ten obiekt dla parametru (w tym przypadku czwartego) htmlAttributes
, w którym określa się id
dla elementu:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"})
Ale co z class
atrybutem? Oczywiście to nie działa:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"})
W ten sposób generowane są losowe błędy składniowe, gdy żądany jest mój widok, ponieważ oczekuje czegoś innego po napotkaniu słowa kluczowego C # class
.
Próbowałem też:
new { _class = "myclass"}
i
new { class_ = "myclass"}
Ale również nie działały, ponieważ podkreślenia zostały zastąpione myślnikami .
Wiem, że równie dobrze mogę ręcznie pisać elementy HTML lub owinąć formularz wewnątrz <div class="myClass">
, ale nadal chciałbym wiedzieć, jak to zrobić.
źródło
Obecnie najlepszą praktyką w rozwoju CSS jest tworzenie bardziej ogólnych selektorów z modyfikatorami, które mogą być stosowane tak szeroko, jak to możliwe na całej stronie internetowej. Starałbym się unikać definiowania osobnych stylów dla poszczególnych elementów strony.
Jeśli celem klasy CSS w
<form/>
elemencie jest kontrola stylu elementów w formularzu, można dodać atrybut klasy do istniejącego<fieldset/>
elementu, który domyślnie otacza dowolny formularz na stronach internetowych generowanych przez ASP.NET MVC. Klasa CSS w formularzu rzadko jest konieczna.źródło