如何在asp.net中设置我自己的默认错误页面?

时间:2010-09-02 08:49:26

标签: asp.net error-handling

如果来自我网站的请求包含一些错误(数据库链接错误),那么asp.net主机服务器错误页面正在显示,但我想避免错误页面,而是我要显示我自己的自定义设计错误页面。

3 个答案:

答案 0 :(得分:2)

customErrors元素添加到适当位置的web.config文件中,如下所示:

<configuration>
    ...

    <system.web>
        <customErrors mode="On" defaultRedirect="~/ErrorPages/Oops.aspx" />

        ...
    </system.web>
</configuration>

mode属性设置为On可确保向所有人显示错误页面。如果要仅向远程用户显示错误页面,可以将属性设置为RemoteOnly;然后,本地用户将看到包含异常详细信息的错误页面,这可以简化开发。

如果您想了解有关此主题的更多信息,我建议您查看官方ASP.NET网站上的以下文章:Displaying a Custom Error Page

答案 1 :(得分:1)

通过在web.config文件中粘贴它来设置您自己的默认错误页面

customErrors Element (ASP.NET Settings Schema)

<configuration>
   <system.web>
      <customErrors mode="On" defaultRedirect="GetLastError.aspx" />
   </system.web>
</configuration>

答案 2 :(得分:1)

要实现此目的,您可以使用pranay提到的customErrors配置设置。 (但您希望模式为On或RemoteOnly。使用来自localhost的RemoteOnly,您仍将看到详细的错误消息,而其他客户端将看到您的处理程序页面)

另外,作为旁注,您可以覆盖页面的OnError方法,该方法在发生未处理的异常时调用。要检查在该方法中触发错误的异常,可以调用Context.Server.GetLastError()方法并继续操作。 (记录异常,重定向到页面等..) 一个更通用的解决方案是创建一个HttpModule来处理HttpApplication的Error事件,但这不是你要问的。