默认地,ASP.NET 1.1和2.0请求验证会对送至服务器的数据检测是否含有HTML标记元素和保留字符.这可以防止用户向程序中输入脚本.请求验证会对照一个有潜在威胁的 字符串列表进行匹配,如果发现异常它会抛出一个HttpRequestValidationException类型的异常.
1.在PAGE 页面加上:
<% Page ValidateRequest="false" %>
2.也可以在WEB.CONFIG 中加上[推荐]:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
<configuration> 注意,一般web.config已经有了<system.web>这个tag,这时只需要把 <pages validateRequest="false" />复制到这个tag以下就可以禁止.net进行请求验证了。
如果你看到了类似下面的这个错误:
从客户端(xxxx)中检测到有潜在危险的 Request.Form 值。]
你需要察看一下你的*.aspx页面中是否添加了validateRequest属性,在msdn2003中的pages元素的说明中提到了这个属性:
<pages> 元素
该 元素指示 ASP.NET 在从浏览器输入的所有内容中检查是否存在潜在的危险数据。如果是 true,则将所有输入数据与一个潜在危险值列表进行比较,从而执行请求验证。如果发生匹配,ASP.NET 将引发HttpRequestValidationException 异常。
1.在PAGE 页面加上:
<% Page ValidateRequest="false" %>
2.也可以在WEB.CONFIG 中加上[推荐]:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
<configuration> 注意,一般web.config已经有了<system.web>这个tag,这时只需要把 <pages validateRequest="false" />复制到这个tag以下就可以禁止.net进行请求验证了。