微软给的解释为:
获取或设置一个值,该值确定 是否针对危险值检查来自浏览器的输入。
命名空间:System.Web.Configuration
程序集:System.Web(在 system.web.dll 中)
默认validateRequest=true
当我们有时候输入一些字符的时候,就会出来一个错误页面,一大段英文加上一个典型异常错误信息,非常难看;
所以我们平时写代码的时候,有时候会禁用validateRequest=false;
其实,正确的做法是在你当前页面添加Page_Error()函数,来捕获所有页面处理过程中发生的而没有处理的异常。然后给用户一个合法的报错信息。如果当前页面没有Page_Error(),这个异常将会送到Global.asax的Application_Error()来处理,也可以在那里写通用的异常报错处理函数。如果两个地方都没有写异常处理函数,才会显示这个默认的报错页面。
protected void Page_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); if (ex is HttpRequestValidationException) { Response.Write("请您输入合法字符串。"); Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。 } }