关于Sys.WebForms.PageRequestManagerServerErrorException
2009-09-01 11:09
441 查看
在一个使用了ASP.NET AJAX框架的ASP.NET 2.0工程中,有一个页面在用户正常登录停留一段时间后(大约20分钟)在操作其中的服务器端控件(例如DropdownList,被UpdatePanel包围)时候就会弹出:
“Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500. ”
经过分析该异常似乎不是服务器端脚本弹出的,而是由客户端脚本导致的异常。Google了半天也没找到比较高的解决办法,通常大家会给出这样几种方法:
1、在<%Page ...%>标签中增加 ValidateRequest="false", 经测试无效。
2、在Web.config中增加<pages enableEventValidation="false"/>,经测试仍然无效。
后来在一篇blog中看到另外一种迂回的解决办法,不是消除这个异常,而是用一种比较容易让用户理解的表述方式来替代这个异常,不至于让用户使用过程中无意间碰到这个异常的时候感到不解。具体做法如下:
在<asp:ScriptManager>标签下插入以下javascript脚本:
甚至可以在其中捕获到该异常的时候不弹出任何提示,而将页面跳转到指定的错误页面。如此一来比起单纯的弹出一串英文提示要友好许多了。
“Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500. ”
经过分析该异常似乎不是服务器端脚本弹出的,而是由客户端脚本导致的异常。Google了半天也没找到比较高的解决办法,通常大家会给出这样几种方法:
1、在<%Page ...%>标签中增加 ValidateRequest="false", 经测试无效。
2、在Web.config中增加<pages enableEventValidation="false"/>,经测试仍然无效。
后来在一篇blog中看到另外一种迂回的解决办法,不是消除这个异常,而是用一种比较容易让用户理解的表述方式来替代这个异常,不至于让用户使用过程中无意间碰到这个异常的时候感到不解。具体做法如下:
在<asp:ScriptManager>标签下插入以下javascript脚本:
<!-- Code to replace text of 500 error --> <mce:script type="text/javascript"><!-- Sys.WebForms.PageRequestManager.getInstance().add_endRequest( function(sender, e) { if (e.get_error()) { if (e.get_response().get_statusCode() == 500) { alert("页面超时,请重新登录! "); e.set_errorHandled(true); window.navigate("Login.aspx"); } } } ) // --></mce:script>
甚至可以在其中捕获到该异常的时候不弹出任何提示,而将页面跳转到指定的错误页面。如此一来比起单纯的弹出一串英文提示要友好许多了。
相关文章推荐
- Sys.WebForms.PageRequestManagerServerErrorException: 在服务器上处理请求时出现未知错误。服务器返回的状态码为: 500
- SCRIPT5022: Sys.WebForms.PageRequestManagerServerErrorException: 输入字符串的格式不正确。
- Sys.WebForms.PageRequestManagerServerErrorException:
- ajax错误 Sys.WebForms.PageRequestManagerServerErrorException
- Sys.WebForms.PageRequestManagerServerErrorException(status code 500 OR 12031)
- 消息: Sys.WebForms.PageRequestManagerServerErrorException: 输入字符串的格式不正确。
- Sys.WebForms.PageRequestManagerServerErrorException: 在服务器上处理请求时出现未知错误解决办法
- "Sys.WebForms.PageRequestManagerServerErrorException"引发出ServerTransfer问题
- Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the serve
- Sys.WebForms.PageRequestManagerServerErrorException: 在服务器上处理请求时出现未知错误解决办法
- 在使用updatepanel 时,上传到服务器出现如下错误: Sys.WebForms.PageRequestManagerServerErrorException: 在服务器上处理请求时出现未知错误。服务器返回的状态码为: 500
- Sys.WebForms.PageRequestManagerServerErrorException
- Sys.WebForms.PageRequestManagerServerErrorException: 在服务器上处理请求时出现未知错误。服务器返回的状态码为: 500
- 解决:Sys.WebForms.PageRequestManagerServerErrorException(status code 500 OR 12031)问题
- Sys.WebForms.PageRequestManagerServerErrorException(status code 500 OR 12031)
- Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the serve
- Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The s
- Sys.WebForms.PageRequestManagerServerErrorException
- Sys.WebForms.PageRequestManagerServerErrorException(status code 500 OR 12031)
- Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500