Digamos que tengo una función en mi modelo, que genera una etiqueta de estilo basado en un int¿Cuál es la forma correcta de generar atributos/texto HTML con comillas en Razor/MVC3?
public string GetStyle(int? size){
if(size > 99)
return "style=\"margin: 20px;\"";
else
return "";
}
Si me hacen esto utilizando
<li @GetStyle(123)>123</li>
Genera esto:
<li style=""margin:20px;"">123</li>
(Tenga en cuenta las comillas dobles). Si cambio las comillas dobles con escape en la función de individuales cotizaciones, se da salida a esto:
<li style="'margin:20px;'">123</li>
Tampoco es correcto, y estoy obligado a cualquier salida de una etiqueta de estilo en blanco si no se requiere ningún estilo.
gracias, eso es todo! – roryok
Puede usar MVCHtmlString, aunque eso solo es realmente para MVC2 -> MVC3, iHtmlString proporciona más pruebas en el futuro. (HtmlString es .net 4) http://stackoverflow.com/questions/3382860/htmlstring-vs-mvchtmlstring –
¿Cómo se muestra el resultado del retorno IHtmlString de GetStyle a la vista? Lo probé en MVC 5, funciona para el valor literal, pero no funciona para la cadena recuperada de SQL Server, como new HtmlString (stringvaluefromdb); – VincentZHANG