我已经在互联网上搜索了几天,没有找到这个好运。
我的模型有一个属性,其中包含一大块含有Razor标记的html。 例如:
public class ViewModel
{
public string Content = "<div>@Html.TextBox(\"UserName\")</div>";
}
在视图中,我用
显示@Html.Raw(Server.HtmlDecode(Model.Content).toString())
我需要能够将Razor标记转换为html,尽管因为内容是通过模型删除的,所以视图引擎不会处理它。
有什么想法吗?
答案 0 :(得分:1)
您可以使用RazorEngine包来解析和执行Razor代码。这就是说我不建议你让用户直接编辑Razor模板。您在网站上打开了一个巨大的安全漏洞。
还有其他模板引擎,例如DotLiquid,它们更适合您不信任用户输入的情况。