我已经在数据库表中保存了安全/清理的HTML.
如何在Razor视图中写出此HTML内容?
它总是逃避字符<
和&符号&
.
假设您的内容位于名为mystring
... 的字符串中
您可以使用:
@Html.Raw(mystring)
或者,您可以将字符串转换为在模型HtmlString
中实现的任何其他类型IHtmlString
或直接内联并使用常规@
:
@{ var myHtmlString = new HtmlString(mystring);} @myHtmlString
在ASP.NET MVC 3中你应该这样做:
// Say you have a bit of HTML like this in your controller: ViewBag.Stuff = "
您可以使用
@{ WriteLiteral("html string"); }
有时使用原始html可能会很棘手.主要是因为XSS漏洞.如果这是一个问题,但你仍然想使用原始html,你可以编码可怕的部分.
@Html.Raw("(" + Html.Encode("" + "Hello") + ")")
结果是
(<script>console.log('insert')</script>Hello)