ASP.NET AJAX入门系列(8):自定义异常处理2010-10-12TerryLee在UpdatePanel控件异步更新时,如果有错误发生,默认情况下会弹出一个Alert对话框显示出错误信息,这对用户来说是不友好的,本文看一下如何在服务端和客户端脚本中自定义异常处理,翻译自官方文档。一.在服务端自定义异常处理1.添加ASPX页面并切换到设计视图。2.在工具箱中AJAX Extensions标签下双击ScriptManager和UpdatePanel控件添加到页面中。3.在UpdatePanel控件中添加两个TextBox,一个Label,一个Button和一些文字,并设置Button的Text属性值为“Calculate”。

4.双击Calculate按钮并添加如下代码到事件处理中。
protected void Button1_Click(object sender, EventArgs e)
{
try
{
int a = Int32.Parse(TextBox1.Text);
int b = Int32.Parse(TextBox2.Text);
int res = a / b;
Label1.Text = res.ToString();
}
catch (Exception ex)
{
if (TextBox1.Text.Length > 0 && TextBox2.Text.Length > 0)
{
ex.Data["ExtraInfo"] = " You can"t divide " +
TextBox1.Text + " by " + TextBox2.Text + ".";
}
throw ex;
}
}
在事件处理代码中包含了一个try-catch语句块,在try中进行除法运算,如果运算失败,在catch中设置ExtraInfo信息并重新抛出异常。5.切换到设计视图并选择ScriptManager控件。6.在属性窗口中的工具栏中,选择事件按钮,并双击AsyncPostBackError。