首页 > 代码库 > 在服务器上处理请求时出现未知错误。服务器返回的状态码为500
在服务器上处理请求时出现未知错误。服务器返回的状态码为500
操作方法:
为页面的ScriptManager控件添加EnablePartialRendering="false"的属性 此方法不是直接解决或规避问题的,是为了将详细的页面错误显示出来,以便找到需要修正
的地方,个人觉得这才是正道嘛,不能躲避错误,而应尽量不让错误发生。 ---》 找出错误 -- 》 修改。
<asp:ScriptManager ID="ScriptManager" runat="server" EnablePartialRendering="false">
</asp:ScriptManager>
弹出如下错误提示:
从客户端(originalTile_Service="...:值班长
<warningType>家客</war...")中检测到有潜在危险的 Request.Form 值。
从 .Net Framework 4.0 开始,asp.net开始强制检测
Request参数安全,而我们可以通过修改 Web.config 来恢复 2.0 版本的模式。
方法如下:
修改Web.config,增加requestValidationMode="2.0"属性值
<system.web> <httpRuntime requestValidationMode="2.0" />
<pages validateRequest="false"></pages> </system.web>
4.0 中多了一个 requestValidationMode,这是什么意思呢?
requestValidationMode 有两个值:
?2.0仅对网页启用请求验证。是启用还是关闭取决于 validateRequest。
?4.0 默认值。任何 HTTP 请求都会启用请求验证,也就是说不光是网页,还包括 Cookie 等
。此时强制启用,不管 validateRequest 为何值。
由于 requestValidationMode="4.0" 是强制启用,所以我们会发现在 .NET Framework 4.0
中仅靠设置 validateRequest 是关闭不了请求验证的,还得将 requestValidationMode 设置
为 2.0。