ASP.NET MVC puede generar elementos HTML utilizando HTML Helpers, por ejemplo @Html.ActionLink()
, @Html.BeginForm()
etc.
Sé que puedo especificar atributos de formulario creando un objeto anónimo y pasar ese objeto para el htmlAttributes
parámetro (cuarto en este caso) al especificar un id
para el elemento:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"})
¿Pero qué hay del class
atributo? Obviamente esto no funciona:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"})
Como eso solo arroja errores de sintaxis aleatorios cuando se solicita mi vista, porque espera algo más después de encontrar la palabra clave C # class
.
También he intentado:
new { _class = "myclass"}
y
new { class_ = "myclass"}
Pero tampoco funcionaron, ya que los guiones bajos son reemplazados por guiones .
Sé que también puedo escribir los elementos HTML a mano o envolver el formulario dentro de un <div class="myClass">
, pero todavía estaría interesado en saber cómo se supone que debe hacerse.
fuente
La mejor práctica actual en el desarrollo de CSS es crear selectores más generales con modificadores que puedan aplicarse lo más ampliamente posible en todo el sitio web. Intentaría evitar definir estilos separados para elementos de página individuales.
Si el propósito de la clase CSS en el
<form/>
elemento es controlar el estilo de los elementos dentro del formulario, puede agregar al atributo de clase el<fieldset/>
elemento existente que encapsula cualquier formulario de forma predeterminada en las páginas web generadas por ASP.NET MVC. Una clase de CSS en el formulario rara vez es necesaria.fuente