HTML编码解码c#MVC4

时间:2012-01-29 01:22:06

标签: c# .net asp.net-mvc visual-studio-2010 html5

我正在将c#MVC2项目升级到c#MVC4。

以下是MVC2中的方案

输入字符串(来自数据库)

   Model.text="<p>Hi<br>hello!<br>you there</p>"

输出(在视图中呈现)  使用

呈现
 <%=Model.text %>

Hi
hello!
you there

以下是MVC4中的方案

输入字符串(来自数据库)

   Model.text="<p>Hi<br>hello!<br>you there</p>"

输出(在视图中呈现)  使用

呈现
@Model.text

<p>Hi<br>hello!<br>you there</p>

我试过

@HttpUtility.HtmlDecode(Model.text) 
@HttpUtility.HtmlEncode(Model.text) 

没有任何帮助...

我在MVC4 asked here中遇到了类似的问题(ajax结果使用html标签而不是实际的html呈现)

我的一些设置是否让我烦恼?或者是与HTML 5有关或我在使用MVC4时遗漏了什么。 请帮忙!!

3 个答案:

答案 0 :(得分:35)

这应该可以解决问题:

@Html.Raw(Model.text)

答案 1 :(得分:5)

如果您不希望对文本进行编码,则该文本应为IHtmlString类型。字符串文本默认编码。

在你的情况下,

Model.text = MvcHtmlString.Create("<p>Hi<br>hello!<br>you there</p>");

也可以做到这一点。

答案 2 :(得分:1)

在控制器端

viewbag.msg="hello";

在html.cs razor视图中

@Html.Raw(viewbag.msg)