使用Asp.net MVC 2.0 +.NET 4.0 出现 “从客户端 ... 中检测到有潜在危险的 Request.Form 值”错误的解决办法

我们在用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)

 

 

但是,如果您使用的是.NET 4.0,你会发现这一操作后,仍然无效。

 

非常抱歉,因为.NET 4.0做了改变,需要在你的Web.config 中,在<system.web>节点下增加:

 

<httpRuntime requestValidationMode="2.0"/>

 

 

这时就可以通过啦。

 

希望大家一起交流,一起进步!中国软件,雄起~

 

 

 

 

上一篇:VMware Workstation and Hyper-V are not compatible. 解决方案


下一篇:Spring 3整合Quartz 2实现定时任务三:动态暂停 恢复 修改和删除任务