如何使用HttpUtility.HtmlEncode将模型从视图发送到控制器

时间:2017-10-25 12:40:43

标签: asp.net-mvc razor

我想将模型的描述从视图发送到控制器。但它再次抛出异常特殊字符的警告。我希望在视图中使用HttpUtility.HtmlEncode而不在控制器中使用[ValidateInput(false)]。有可能吗?

@model  UserModel
@using (Html.BeginForm("CreateUser", "Home", FormMethod.Post))
{
    @Html.TextAreaFor(HttpUtility.HtmlEncode(x => x.Description))

    <button type="submit" id="btnCreate">Create</button>
}

1 个答案:

答案 0 :(得分:0)

您是否尝试在模型中添加[AllowHtml]属性?

public class ViewModel
{
    [AllowHtml]
    public string Description { get; set; }
}

不,这不是安全漏洞。 ASP.Net MVC具有自动HTML编码功能。 Razor还包含Html.Encode方法。调用此方法将进行双重编码。因此,您不能两次使用Html.Encode。