MasterPage错误页面中的ASP.NET CustomError处理

时间:2010-12-22 13:53:30

标签: c# asp.net error-handling master-pages custom-errors

我将错误重定向到Error.aspx

 <system.web>
        <customErrors defaultRedirect="error.aspx" mode="On">
        <error redirect="error.aspx" statusCode="500" />
 </system.web>

问题是Error.aspx的ErrorMasterPage中还有第二个错误

<script Language="C#" MasterPageFile="~/ErrorMaster.Master" runat="Server">

并且CustomError无法处理第二个错误,而它就像一个循环(它将重定向到error.aspx并且Error.aspx的主页有错误。

这是问题:

示例:

Login.aspx(有错误) - &gt; Error.aspx - &gt; ErrorMasterPage.Master(有错误) - &gt;显示黄页 感谢

1 个答案:

答案 0 :(得分:1)

如果你正在使用web.config进行自动重定向,我会说你应该有一个错误页面这么简单,几乎不会出现服务器错误。如果您正在访问该页面上的数据库,那么如果错误与此相关,您将进入循环。

另一个选项是使用global.asax上的错误处理程序重定向到错误页面。这将涉及C#逻辑。在那里,你可以检测到错误是否是在error.aspx上生成的,在这种情况下,你可以重定向到fatalerror.aspx(一个白页只显示一条消息)。