asp.net mvc 在表单中输入html标记
今天遇到一个需要在表单的textArea里写html的情况,不料有异常了。因为在asp.net设计时,出于安全考虑,默认是不允许用户自行在文本框里写html和javascript标记的。
页面错误提示说去http://msdn.microsoft.com/zh-cn/library/hh882339.aspx。可是,不幸发生了,我这个不太懂英文的人遇到了这往篇只有英文的文档。没辙,词典打开。
问题解决了:
方法一: 在绑定到view的model里的属性字段上加上特性[AllowHtml]:如
[Required]
[AllowHtml]
public string content{get;set;}
方法二:
在表单回传的action头上加上[ValidateInput(false)]
如:
[ValidateInput(false)]
public ActionResult AddPost(Models.PostTopic post)
{
return View();
}
当然还有别的方法,但这应该那够满足了。如果是在asp.net webform里,可在config里设置(有两处):
1:<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>
2:<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
可在根据上面的MSDN网址自行查看更详细的说明。