0

我已经在互联网上搜索了几天,但没有找到这个。

我的模型有一个属性,其中包含一大块包含 Razor 标记的 html。示例:

public class ViewModel 
{
    public string Content = "<div>@Html.TextBox(\"UserName\")</div>";
}

在视图中,我用

@Html.Raw(Server.HtmlDecode(Model.Content).toString())

我需要能够将 Razor 标记转换为 html,尽管因为内容是通过模型放入的,所以视图引擎不会处理它。

  • 我试过简单地放入内容,只使用.Raw(Model.Content),.Encode(Model.Content),没有任何效果。

有什么想法吗?

4

1 回答 1

1

您可以使用RazorEngine包,它允许您解析和执行 Razor 代码。话虽这么说,我不建议您让您的用户直接编辑 Razor 模板。您正在您的网站上打开一个巨大的安全漏洞。

还有其他模板引擎,例如DotLiquid,它们更适合您不信任用户输入的场景。

于 2012-10-11T12:10:24.253 回答