O ASP.NET MVC pode gerar elementos HTML usando HTML Helpers, por exemplo @Html.ActionLink()
, @Html.BeginForm()
e assim por diante.
Eu sei que posso especificar atributos de formulário criando um objeto anônimo e passar esse objeto para o (quarto neste caso) htmlAttributes
parâmetro onde especificar um id
para o elemento:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"})
Mas e o class
atributo? Obviamente isso não funciona:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"})
Como isso apenas gera erros de sintaxe aleatórios quando minha visão é solicitada, porque espera outra coisa depois de encontrar a palavra-chave C # class
.
Eu também tentei:
new { _class = "myclass"}
e
new { class_ = "myclass"}
Mas eles também não funcionaram, pois os sublinhados são substituídos por traços .
Eu sei que também posso escrever os elementos HTML manualmente ou agrupar o formulário dentro de um <div class="myClass">
, mas ainda assim eu estaria interessado em saber como isso deve ser feito.
fonte
A melhor prática atual no desenvolvimento de CSS é criar seletores mais gerais com modificadores que podem ser aplicados o mais amplamente possível em todo o site. Eu tentaria evitar definir estilos separados para elementos de página individuais.
Se o objetivo da classe CSS no
<form/>
elemento for controlar o estilo dos elementos no formulário, você poderá adicionar ao atributo class o<fieldset/>
elemento existente que encapsula qualquer formulário por padrão nas páginas da Web geradas pelo ASP.NET MVC. Uma classe CSS no formulário raramente é necessária.fonte