在当前页面显示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 );的作用。

你可能感兴趣的:(Ajax)