Mega Code Archive

 
Categories / ASP.Net / Ajax
 

Handling UpdatePanel Errors Gracefully

You enable a custom error page by adding the following element to  the system.web section of your web configuration file: <customErrors mode="On" defaultRedirect="ErrorPage.aspx" /> File: Default.aspx <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">     protected void btnSubmit_Click(object sender, EventArgs e)     {         throw new Exception("Server Error");     } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">     <title>UpdatePanel Error</title> </head> <body>     <form id="form1" runat="server">     <asp:ScriptManager         id="sm1"         Runat="server" />     <asp:UpdatePanel         id="up1"         runat="server">         <ContentTemplate>         <asp:Button             id="btnSubmit"             Text="Submit"             OnClick="btnSubmit_Click"             Runat="server" />         </ContentTemplate>     </asp:UpdatePanel>     </form> </body> </html> You can disable custom error pages in the case of an asynchronous postback by adding an AllowCustomErrorRedirect attribute to the ScriptManager tag, like this: <asp:ScriptManager    id="sm1"    AllowCustomErrorsRedirect="false"    Runat="server" />     Web.Config        <configuration>     <system.web>         <customErrors mode="Off"/>         <compilation debug="true"/>         <pages>             <controls>                 <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />             </controls>                  </pages>         </system.web> </configuration>