que tienen un modelo simple:Cómo usar Razor como asp: ¿Literal?
public class MyModel
{
public string Text{get;set;}
}
tengo una visión, lo que hace que la propiedad Texto de MyModel:
<p>@Model.Text</p>
¿Cómo puedo hacer que las etiquetas HTML de texto como etiquetas? Por ejemplo, tengo el texto "<b>Text</b>
". Quiero conseguir el texto en negrita dentro de la etiqueta p como resultado:
texto
Pero Razor muestra texto como es:
<b>Text</b>
Esta es una buena solución cuando desea representar algún contenido sin codificación HTML ocasionalmente. Cuando sabe que una propiedad de su modelo siempre va a ser contenido HTML que no debe codificarse automáticamente, debe crear el tipo de esa propiedad IHtmlString. Por lo tanto, si cambia el texto para que sea un IHtmlString en lugar de una cadena, puede escribir @ Model.Text y Razor generará las etiquetas correctamente. De esta forma, es claro que cierto contenido es HTML y debe ser cuidadosamente desinfectado para evitar ataques de inyección HTML. –
@anurse: Wow, gran comentario. No lo sabía yo mismo. Actualizaré la respuesta para agregar esta información también. – paracycle