在服务器上处理请求时出现未知错误。服务器返回的状态码为500。的处理方法。
首先,状态码500是非已知类型服务器错误,今天发现的是动态加载页面时的页面验证错误,因为是动态往页面中写html元素,html元素的不规范导致页面验证失败,所以中断处理请求。
接下来是解决方案,前辈们已经给出了不少了,下面就这些方法谈谈自己的看法:
一、在页面文件的Page标签里加上ValidateRequest="false"的属性值
此方法对于没有显著页面元素错误(有潜在危险、但非不可执行)的程序是可以的,前提是你不需要考虑防范页面脚本攻击等危及程序安全的因素。
二、在配置文件web.config的system.web节下添加“<pages enableEventValidation="false"/>”元素
这个与上面的方法一样,不同的是作用域扩大到了受此配置文件影响所有页面文件。
三、为页面的ScriptManager控件添加EnablePartialRendering="false"的属性
此方法不是直接解决或规避问题的,是为了将详细的页面错误显示出来,以便找到需要修正的地方,个人觉得这才是正道嘛,不能躲避错误,而应尽量不让错误发生。
所以,个人推荐:
为页面的ScriptManager控件添加EnablePartialRendering="false"的属性 ---》 找出错误 -- 》 修改。