mvc - ¿Cómo evitar que html se escape en Razor(independiente)?
if razor mvc 5 (2)
Tengo un modelo con propiedad Contenido que contiene una cadena HTML.
var model = new { Content = ... }
Razor.Parse(templateBody, model)
¿Cómo puedo renderizar esta cadena usando Razor independiente?
Lo intenté:
@(new HtmlString(Model.Content))
y también
@(HttpUtility.HtmlDecode(Model.Content))
Model.Content renderiza siempre HTML-escapado.
En la biblioteca RazorEngine, el tipo especial de "no me escape" es RazorEngine.Text.IEncodedString
. Use el método de ayuda simple en la clase base de plantilla:
@Raw("<script>alert(''!'');</script>")
Para convencer a VS y Resharper de darle IntelliSense, agregue la siguiente línea en la parte superior de la plantilla:
@inherits RazorEngine.Templating.TemplateBase
Esto debería funcionar Html.Raw(Model.Content)