欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【关于Asp.net ajax下的异常处理】,下面是详细的分享!
关于Asp.net ajax下的异常处理
最近做一个项目时,大量应用了Asp.net ajax,由于在UpdatePanel这种异步更新模式下,后台处理时所发生的异常并不会导致客户端的界面发生变化,而是直接以alert的方式弹出异常信息,所以我就偷了个懒,在后台检测到不符合要求的输入之类的情况下,就直接把错误提示信息throw一下就好了。但现在发现问题了,就是这样一来,如何处理其它的未处理异常?
为了不至于全部重新来修改一遍,我考虑了这几种处理方式:
1.在web.config的customErrors配置中设置当出现未处理的异常时转到指定页;
2.在Global.asax的Application_Error事件处理程序中,将异常信息输出到指定的页面显示给客户端;
3.由于我所有的页面都是继承自一个MyPage类(它又继承自System.Web.UI.Page),所以也可以考虑在MyPage的Page_Error事件处理程序中,来将异常信息输出到指定的页面显示给客户端。
但是,第一和第三种方法,会在出现异常时直接转到指定页,从而达不到直接alert错误提示的效果;而第二种方法,倒是不会管这种异步的程序异常,不会把页面重定向,但在Application_Error里面用Server.GetLastError()方法捕获的异常很多时候又不是直接的包含了友好错误信息的那个异常,而是它所导致的异常,比如经常就会导致System.Web.HttpUnhandledException异常。所以这种方式也不理想。
与大家一起讨论。
以上所分享的是关于关于Asp.net ajax下的异常处理,下面是编辑为你推荐的有价值的用户互动:
相关问题:asp.net 使用Jquery ajax提交后台指定方法 为什么...
答:根据以上代码 初步判断 你的data没有给值 然后后台又需要值 所以报错了 类似这种错误可以使用firefox的firebug去查看ajax请求 这样可以有很确切的错误提示 你只需将控件的ID放入data参数即可执行 如果把后台的id参数去掉 个人觉得应该是可以执行... >>详细
相关问题:asp.net调用ajax时一直报500错误
答:500是服务器错误,是不是服务器设置有问题呢? 检查一下。比如承载的服务配置错误后其他的原因。 >>详细
相关问题:ASP.NET有关Ajax实现页面不刷新效果
答: $(function() { $(".but").click(function() { var id; $.ajax({ type: "GET", async: false, url: "/ashx/ashx1.ashx?id=" + id + "&date=" + new Date(), success: function(msg) { }); } else { } }); });没那么复杂 如列子 点击留言的时候 ... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
