将HTML编码的表单数据发布到服务器

时间:2012-10-30 23:44:00

标签: asp.net-mvc asp.net-mvc-3 webforms-view-engine

我目前正在使用MVC 3(WebForm视图引擎),并且有一个显示用户评论的表单。

如果我的评论中有&符号(&amp;),则<%= Html.Textbox() %>会将其编码为&amp;。但是,如果表单随后发布到服务器,则ASP.NET会认为提交的内容是恶意的。

我发现自己必须在将内容发送到服务器之前使用HTML decoding methods using JavaScript

我能够得到我想要的结果,但我觉得我做得不对。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以使用特殊属性来使用AllowHtml属性发布安全的html标记,您将定义模型/ viewmodel,如下所示

public class Comment
{

       public int Id{get; set;}

       [AllowHtml] // Allow safe html tags
       public string Comment {get; set;}   
}