¡Hola!
Haciendo una vista en razor, tenía que pintar unas clases a los elementos li de una lista desordenada en función de algunas condicionales, así que se me ocurrió buscar la forma de poner atributos condicionales sin tener que usar sintaxis rebuscadas o duplicar código con un if dentro del HTML.
Lo que encontré me encantó por su simplicidad: Si usamos una variable nula dentro de un atributo HTML, razor obviará el atributo y no lo escribirá.
Ejemplo:
<ul> @foreach (var modulo in Model.Modulos) { var claseCSS = (modulo.Completado ? "completed" : modulo.Actual ? "actual" : null); <li class="@claseCSS"> <a href="@modulo.Link"> @modulo.Titulo </a> </li> } </ul>
Si la cadena tiene algún valor, se pintará la clase correspondiente en el elemento li. Si la cadena está a nulo, el atributo ni se pintará.
¿A que mola? 🙂
¡Nos vemos!
Entrada visitada 916 veces