asp.net ajax中的错误处理
2012-06-27 22:05
351 查看
• 服务器端ScriptManager设置
– AllowCustomErrorsRedirect属性:遇到错误是否 自动根据web.config中的设置跳转,默认值为True
– AsyncPostBackError事件:异步刷新中出现错误时触发的事件。
– AsyncPostBackErrorMessage属性:客户端接受到的错误信息。
• 客户端编程
– 响应PageRequestManager的endRequest事件。
– 将errorHandled属性设为true。
-------------------------------------------------------------------------------------------------------------------------------------
实例代码:
aspx页面代码
ErrorHandling.asmx页面代码
<%@ WebService Language="C#" Class="ErrorHandling" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
using System.Threading;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class ErrorHandling : System.Web.Services.WebService
{
[WebMethod]
public int GetDivision(int a, int b)
{
return a / b;//0不能做为除数
}
[WebMethod]
public int Timeout()
{
Thread.Sleep(5000);
return 0;
}
}
– AllowCustomErrorsRedirect属性:遇到错误是否 自动根据web.config中的设置跳转,默认值为True
– AsyncPostBackError事件:异步刷新中出现错误时触发的事件。
– AsyncPostBackErrorMessage属性:客户端接受到的错误信息。
• 客户端编程
– 响应PageRequestManager的endRequest事件。
– 将errorHandled属性设为true。
-------------------------------------------------------------------------------------------------------------------------------------
实例代码:
aspx页面代码
<asp:ScriptManager ID="ScriptManager1" runat="server"> <Services> <asp:ServiceReference Path="ErrorHandling.asmx" /> </Services> </asp:ScriptManager> <input type="button" value="getDivision" onclick="getDivision(5, 0)" /> <input type="button" value="timeout" onclick="timeout()" /> <script language="javascript" type="text/javascript"> function getDivision(a, b) { ErrorHandling.GetDivision(a, b, null, failedCallback); } function timeout() { ErrorHandling.set_timeout(2000);//设置超时时间 ErrorHandling.Timeout(null, failedCallback); } function failedCallback(error) { var message = String.format( "Timeout: {0}\nMessage: {1}\nExceptionType: {2}\nStackTrace: {3}", error.get_timedOut(), error.get_message(), error.get_exceptionType(), error.get_stackTrace()); alert(message); } </script>
ErrorHandling.asmx页面代码
<%@ WebService Language="C#" Class="ErrorHandling" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
using System.Threading;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class ErrorHandling : System.Web.Services.WebService
{
[WebMethod]
public int GetDivision(int a, int b)
{
return a / b;//0不能做为除数
}
[WebMethod]
public int Timeout()
{
Thread.Sleep(5000);
return 0;
}
}
相关文章推荐
- asp.net ajax 相关错误的处理
- ASP.NET AJAX 异常处理及在客户端显示用户用好的错误信息
- asp.net ajax--错误处理
- ASP.NET MVC 中如何用自定义 Handler 来处理来自 AJAX 请求的 HttpRequestValidationException 错误
- 处理Asp.net Ajax框架12029,12007错误
- 处理Asp.net Ajax框架12029,12007错误
- asp.net + ajax出现数据回传错误的处理
- asp.net ajax中的错误处理
- ASP.NET错误处理的方式(总结)
- asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
- ASP.NET错误日志处理模块 ELMAH
- ASP.NET错误处理的三种方式
- asp.net 2.0 个人认为处理网站全局错误最简单的方法
- 【总结】Ajax Asp.Net 交互处理方式(一)
- asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
- 【总结】Ajax Asp.Net 交互处理方式(二)
- IIS7.5配置Asp.net项目出现HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
- ASP.NET MVC应用安全性(一)——自定义错误处理
- [转]ASP.NET的错误处理机制
- 在ASP.NET Atlas中调用Web Service——处理错误,超时以及响应用户的取消操作