如何在MVC控制器中编码字符串?

时间:2014-01-19 20:39:40

标签: c# asp.net asp.net-mvc razor encode

我尝试过使用它:

Forum.Body = WebUtility.HtmlEncode(Forum.Body);

要对文本字符串进行编码,但仍然不对变量进行编码。语法有什么问题?

1 个答案:

答案 0 :(得分:1)

Razor默认自动将HTML编码作为安全措施。

如果您将Forum模型对象传递给视图并使用剃须刀,那么您需要做的就是:

@Model.Body

在上面,它将默认编码Body属性。

这意味着您不必在控制器内进行HTML编码。

<强>更新

如果您打算输出html,可以使用:

 @Html.Raw(Model.Body)

或者将以下属性添加到属性中:

[AllowHtml]
public string Body { get; set; }