我试图摆脱“潜在的危险Request.Form值”错误,我没有运气。是的,是的,我已经阅读了所有其他StackOverflow相关的问题,没有一个似乎让我更接近答案。我在所有相关的控制器操作上使用[ValidateInput(false)] …我已经检查了很多次。我在所有相关的ASPX视图中使用ValidateRequest =’false’。
我正在使用ASP.NET MVC 2 Preview 1,但我不认为这是一个问题,因为在框架中生成错误较低; Page.ProcessRequest是准确的。我看不到任何错误,我甚至设置了< page validateRequest ='false'>在web.config中,也没有解决它。
解决方法
使用asp.net 4,您还需要在web.config中配置验证模式。
将< system.web>的子项设置为以下内容元件:
<httpRuntime requestValidationMode="2.0"/>
Asp.Net 4默认将requestValidationMode设置为4.0,这告诉系统在HTTP请求的BeginRequst阶段之前执行请求验证。验证将在系统达到动作属性之前发生,告诉它不验证请求,从而使属性无效。设置requestValidationMode =“2.0”将恢复为asp.net 2.0请求验证行为,允许ValidateInput属性按预期工作。
(感谢吉姆 – upvotes belong here)