在当前页面显示ajax出错信息

aspx
    <form id="form1" runat="server">
        
<asp:ScriptManager ID="ScriptManager1" runat="server" AllowCustomErrorsRedirect="false" OnAsyncPostBackError="ScriptManager1_AsyncPostBackError">
        
</asp:ScriptManager>

        
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
            
<ContentTemplate>
                
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
            
</ContentTemplate>
        
</asp:UpdatePanel>
        
        
<div id="error"></div>
        
<script type="text/javascript" language="javascript">
            Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function(sender, e)
            {
                e.set_errorHandled(
true);
                $
get("error").innerHTML = "Sorry, an error has occurred: " + e.get_error().message;
                setTimeout(function(){ $
get("error").innerHTML = ""; }, 3000);
            });
        
</script>
    
</form>

cs
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    
    
protected void Button1_Click(object sender, EventArgs e)
    {
        
throw new Exception("Custom Error!");
    }
    
protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
    {
        ScriptManager.GetCurrent(
this).AsyncPostBackErrorMessage = e.Exception.Message;
    }

点击Button1按钮后,会在<div id="error"></div>中显示Sorry, an error has occurred: Custom Error!,其中Custom Error就是在Button1_Click中自定义的错误信息,然后隔了三秒钟后错误信息自动消失是setTimeout(function(){ $get("error").innerHTML = ""; }, 3000);的作用。
原文地址:https://www.cnblogs.com/timy/p/1167917.html