28

我有一个带有属性 Content 的模型,其中包含 HTML 字符串。

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

如何使用独立的 Razor 呈现此字符串。

我试过:

@(new HtmlString(Model.Content))

并且

@(HttpUtility.HtmlDecode(Model.Content))

Model.Content 始终呈现 HTML 转义。

4

2 回答 2

62

这应该工作Html.Raw(Model.Content)

于 2013-03-07T17:26:09.790 回答
18

在 RazorEngine 库中,特殊的“do-not-escape-me”类型是RazorEngine.Text.IEncodedString. 在模板基类上使用简单的辅助方法:

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

要说服 VS 和 Resharper 为您提供 IntelliSense,请在模板顶部添加以下行:

@inherits RazorEngine.Templating.TemplateBase
于 2013-03-11T10:17:01.900 回答