最近用.net完成了一项目,作为子项目集成到其他项目中去,发现部分网页访问不了。报“从客户端(&)中检测到有潜在危险的 Request.Path 值” 的错, 但是单独访问是OK的,百度有很多解决方案,原因是.net4.0开始,微软加入了对特殊字符的限制
解决方案:有修改wed.config文件的(1)
<system.web> <pages validateRequest="false" /> </system.web>
或(2)
<httpRuntime requestValidationMode="2.0" />
或修改当前页面(3)
<%@ Page validateRequest=”false” %>
前三种都没有效果
后来又看到(4)
Web.Config配置文件中加入<httpRuntime requestPathInvalidCharacters="" />
这种能解决上面那个问题,但同时把URL的中文参数给拦截了导致服务器端url不正确,出现404错误,走不通
后来在一篇博文看到在web.config要同时加(2)和(3)中两个参数
即:
<system.web>
<pages validateRequest="false" />
<httpRuntime requestValidationMode="2.0" />
</system.web>
解决!
记录一下!