默認情況下,當UpdatePanel刷新的時候如果發生了錯誤,都會以彈出框的形式顯示。比如我們建立如下的頁面:
UpCustomizeErr.ASPx:
<ASP:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server" Width="64px"></asp:TextBox>/<ASP:TextBox
ID="TextBox2" runat="server" Width="63px"></asp:TextBox>=<asp:Label ID="Label1" runat="server"></ASP:Label><br />
<ASP:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="計算" />
</ContentTemplate>
</ASP:UpdatePanel>
UpCustomizeErr.ASPx.cs:
protected void Button1_Click(object sender, EventArgs e)
{
int a = int.Parse(TextBox1.Text);
</span>int b = int.Parse(TextBox2.Text);
int res = a / b;
Label1.Text = res.ToString();
}
當按下按鈕的時候就會計算兩個文本框相除的結果,如果輸入的值不是數字或者除數為0,則會提示異常信息。如果只需要簡單的提示信息,那麼已經足夠了,不需要編寫額外的代碼。但如果我們想自定義錯誤信息,則需要用到ScriptManager的OnAsyncPostBackError事件了。對頁面做適當的修改:
<ASP:ScriptManager ID="ScriptManager1" runat="server" OnAsyncPostBackError="ScriptManager1_AsyncPostBackError" >
</ASP:ScriptManager>
protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
{
ScriptManager1.AsyncPostBackErrorMessage ="不好意思,出錯了,原因:"+ e.Exception.Message;
}
這只是一個簡單的示例,用來說明在OnAsyncPostBackError事件中設置AsyncPostBackErrorMessage的值就可以達到自定義消息的目的。當然這只是其中一種方法,明天繼續學習她的另一種方法。