Подтвердить что ты не робот

Как предотвратить утечку html в Razor (автономный)?

У меня есть модель с содержимым Content, содержащая HTML-строку.

var model = new { Content = ... }
Razor.Parse(templateBody, model)

Как я могу сделать эту строку с помощью автономной Razor.

Я пробовал:

@(new HtmlString(Model.Content))

а также

@(HttpUtility.HtmlDecode(Model.Content))

Model.Content визуализирует HTML-экранирование.

4b9b3361

Ответ 1

В библиотеке RazorEngine специальный тип "do-not-escape-me" RazorEngine.Text.IEncodedString. Используйте простой вспомогательный метод в базовом классе шаблонов:

 @Raw("<script>alert('!');</script>")

Чтобы убедить VS и Resharper дать вам IntelliSense, добавьте следующую строку в начало шаблона:

@inherits RazorEngine.Templating.TemplateBase

Ответ 2

это должно работать Html.Raw(Model.Content)