ASP.NET AJAX 异常处理及在客户端显示用户用好的错误信息
2013-10-28 12:01
876 查看
项目使用了Telerik Ajax控件,由于Telerik Ajax基于MS AJAX并在异常处理方面与MS Ajax 保持一致 http://www.telerik.com/help/aspnet-ajax/ajax-error-handling.html
方案:
服务器端:在Application_Error中,把错误信息写入日志,但是并不通过Server.Transfer跳转到某个错误显示页面,否则ajax客户端无法识别错误信息。
客户端: 利用EndRequestHandler处理函数,判断是否有异常发生,若有则显示异常用户友好的异常信息。
参考:
服务器端处理异常 http://msdn.microsoft.com/en-us/library/24395wz3(v=vs.100).aspx
客户端处理Ajax异常 http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.asyncpostbackerror.aspx
方案:
服务器端:在Application_Error中,把错误信息写入日志,但是并不通过Server.Transfer跳转到某个错误显示页面,否则ajax客户端无法识别错误信息。
void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs Exception error = Server.GetLastError(); ILog logger = LogManager.GetLogger(typeof(Global)); logger.Error("unhandled error occurred", error); Server.ClearError(); }
客户端: 利用EndRequestHandler处理函数,判断是否有异常发生,若有则显示异常用户友好的异常信息。
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender, args) { if (args.get_error() != undefined && args.get_error().httpStatusCode == '500') { alert("error occurred..."); } }
参考:
服务器端处理异常 http://msdn.microsoft.com/en-us/library/24395wz3(v=vs.100).aspx
客户端处理Ajax异常 http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.asyncpostbackerror.aspx
相关文章推荐
- 由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,或打开对每个 Microsoft .NET Framework SDK 文档的跟踪并检查服务器跟踪日志。
- C# B/S程序中出现“异常详细信息: System.Data.SqlClient.SqlException: 用户 'XXX/ASPNET' 登录失败。”的处理方法
- ASP.NET弹出显示ex.Message异常信息 存在换行符和回车符处理办法。
- 处理Asp.net Ajax框架12029,12007错误
- 在ASP.NETAtlas中调用WebService—处理错误,超时以及响应用户的取消操作
- asp.net Ajax 页中使用jquery-easyui的显示问题处理
- ASP.NET MVC显示异常信息
- asp.net ajax异常处理
- 在ASP.NET 5中显示错误信息
- ASP.NET在线用户,可处理异常退出
- 使用asp.net 2.0 客户端回调功能显示后台处理进度
- ReportViewer控件无法显示(ASP.NET Ajax 客户端框架未能加载,"Sys"未定义)
- ASP.NET生成eurl.axd Http异常错误的处理方法
- ASP.NET生成eurl.axd Http异常错误的处理方法
- ASP.NET Ajax 客户端框架未能加载,Sys未定义处理方法
- asp.net 在客户端显示服务器端任务处理进度条的探讨
- asp.net Ajax 页中使用jquery-easyui的显示问题处理
- ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面
- asp.net访问access 发生了未处理的异常 "操作必须使用一个可更新的查询"错误
- Ajax程序:处理异步调用中的异常(使用Asp.Net Ajax内建的异常处理方法)