我们在用Asp.net 开发 Web Form页面时,通常要提交包含Html内容的数据给后台程序代码处理时,会为页面设置 ValidateRequest="false" 属性,设置后,讨厌的 "从客户端 ... 中检测到有潜在危险的 Request.Form 值”的错误乖乖消失了。
而这一错误在ASP.NET MVC 2中,却发生了改变;
首先,如果你使用的是.NET 3.5,那么你只要为接收表单值的Action添加一个特性:[ValidateInput(false)] 就可以了,无需在页面设置ValidateRequest="false" 属性。
如下:
[HttpPost]
[ValidateInput(false)]
public ActionResult ArticleSave(BlogArticle model)
[ValidateInput(false)]
public ActionResult ArticleSave(BlogArticle model)
但是,如果您使用的是.NET 4.0,你会发现这一操作后,仍然无效。
非常抱歉,因为.NET 4.0做了改变,需要在你的Web.config 中,在<system.web>节点下增加:
<httpRuntime requestValidationMode="2.0"/>
这时就可以通过啦。
希望大家一起交流,一起进步!中国软件,雄起~