mvc中validateinput属性在asp.net4中不工作

mvc中validateinput属性在asp.net4中不工作

原因是: 在4.0中,请求验证在页面和ACTION验证之前进行.因此设置validateinput并不能禁用验证.

msdn说明如下:

RequestValidationMode 属性指定要使用的 ASP.NET 验证方法。 这可以是在 ASP.NET 版本(早于版本 4)中或在 .NET Framework 4 版 中使用的版本中使用的算法。可以将属性设置为下列值:

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

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

未验证分配给此属性的值是否匹配特定版本的 ASP.NET。任何小于 4.0(例如 3.72.92.0)的数值将被解释为 2.0。 id=tgt16 class=tgtSentence xmlns="http://msdn2.microsoft.com/mtps" sentenceid="ea2d04a030503c1dcdb72837827f6225" runat="server" msdn2.microsoft.com mtps:Sentence>任何大于 4.0 的数值将被解释为 4.0

解决办法:

 在配置文件中设置此值,可以为 httpRuntime 元素的 requestValidationMode 特性赋值。将验证模式设置为2.0 即:

<system.web>

   <httpRuntime requestValidationMode="2.0"/>

</system.web>

 

msdn2.microsoft.com mtps:Sentence>

 

转载于:https://www.cnblogs.com/splyn/archive/2010/07/21/1782558.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值