ASP.NET MVC如何将HTML标签显示为HTML?

11

我在视图中显示一些文本:

....
 <%: model.Content %>
....

我的model.Content包含HTML标记,我想将它们显示为HTML而不是文本。如何做到这一点?

谢谢。

4个回答

29

从MVC 3开始,您可以使用:

@Html.Raw(model.Content)

8
<%= model.Content %>

注意这个,因为它可能会使你的网站容易受到XSS攻击。


5

使用:

<%: MvcHtmlString.Create(model.Content) %>

或者
<%= model.Content %>

<%:会对HTML进行编码,而<%=则不会。

MvcHtmlString.Create创建一个“安全”的HTML字符串,<%:以原样输出该字符串。


1
在ASP.Net 3.5 MVC 2.0中,您应该使用MvcHtmlString。 在.Net 4.0中,您应该使用HtmlString。(它更简单) - Gideon

2
<%= Model.Content %>

冒号 : 表示 Html.Encode(),而等号 = 则是直接发布字符串中的内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接