您的位置:首页 > 编程语言 > ASP

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客户端无法识别错误信息。
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐