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>
|