将不确定变为确定~MVC3的ValidateInput属性失灵了

回到目录

使用MVC3开发WEB应用程序遇到一个问题,在使用xheditor编辑器填写复杂内容时,在POST动作后,出现了不能添加的情况,这是正常的,因为我没有在控制器里设置ValidateInput,但当我设置了ValidateInput属性,或者在Action上添加ValidateInput特性后,结果还是一样,不能提交!

这是怎么回事?原来在web.config里有个设置约束了它,requestValidationMode对于.net framework4.0版本来说,它比之前的版本进行了更大成

程序的优化,这可以被设置为4.0和2.0,对于MVC3项目,它被默认为4.0

  4.0(默认)。 HttpRequest 对象在内部设置一个标志,该标志指示每当访问 HTTP 请求数据时应触发请求验证。 这可保证在请求期间访问数据(如 cookie 和 URL)之前触发请求验证。 配置文件中页元素(如果有的话)的请求验证设置或单独页面中的 @ 页指令的请求验证设置将被忽略。

  2.0. 仅对网页(而不是对所有 HTTP 请求)启用请求验证。 此外,配置文件中的 pages 元素(如果有的话)的请求验证设置或单独页中的 @ Page 指令的请求验证设置用来确定要验证哪些页请求。

  <configuration>
        <system.web>
           <httpRuntime requestValidationMode="2.0"/>
        </system.web>
 </configuration>

 

回到目录

posted @ 2012-12-04 14:45  张占岭  阅读(2452)  评论(1编辑  收藏  举报