【问题标题】:How do you encode a string within the MVC controller?如何在 MVC 控制器中对字符串进行编码?
【发布时间】:2014-01-19 20:39:39
【问题描述】:

我试过用这个:

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

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

【问题讨论】:

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


    【解决方案1】:

    默认情况下,Razor 会自动进行 HTML 编码作为安全措施。

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

    @Model.Body
    

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

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

    更新

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

     @Html.Raw(Model.Body)
    

    或者给属性添加如下属性:

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

    【讨论】:

    • 对于奖励积分显示@Html.Raw() 用法,因为我知道这是操作可能真正想要的。还要考虑 HtmlString 或任何自动处理的类。
    • 谢谢,好点。我已经更新了它。当我到达 PC 时,我将添加 HtmlString 解释。 @timothywalters
    猜你喜欢
    • 2012-08-23
    • 2016-07-19
    • 1970-01-01
    • 2014-03-27
    • 2011-06-24
    • 2011-10-06
    • 2012-12-23
    • 1970-01-01
    • 2011-07-02
    相关资源
    最近更新 更多