asp.net自定义错误

本文关键字:错误 自定义 net asp | 更新日期: 2023-09-27 18:21:15

我对此很困惑。我试着遵循各种教程,但似乎都做不好我不知道我做错了什么,因为它和我看过的那些视频完全一样。

我试过这个

web.config

<customErrors mode="On" defaultRedirect="Error.aspx"/>

更改Global.aspx下的application_error

它最终以响应重定向结束,也尝试了服务器传输,但没有一个能引导我进入Error.aspx

有人知道如何设置一个好的简单教程吗?或者有人可以一步一步地告诉我该怎么做?

我试着遵循本指南的第一部分,因为这正是我想要的。

        protected void Application_Error(object sender, EventArgs e)
    {
        Exception ex = Server.GetLastError();
        Server.ClearError();
        Response.Redirect(@"~Error.aspx");
    }

但它告诉我它进入了一个无限循环。

我想把用户发送到一个名为Error.aspx的页面,在那里他们可以看到一个自定义的错误屏幕。

asp.net自定义错误

IIS问题将是下一个问题xD呵呵但我找到了我的循环和问题的来源

我在Error.aspx中有这段代码,这让它崩溃了,也就是循环xD

<asp:ContentPlaceHolder ID="head" runat="server" >
</asp:ContentPlaceHolder>
<configuration>
   <system.webServer>
      <httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File" >
         <remove statusCode="500" />
         <error statusCode="500"
            prefixLanguageFilePath="C:'Contoso'Content'errors"
            path="500.htm" />
       </httpErrors>
   </system.webServer>
</configuration>

否则,请在IIS级别上执行以下步骤

如何添加自定义错误页面

http://www.iis.net/configreference/system.webserver/httperrors

  1. 打开IIS
  2. 从"网站"左侧选择您的网站
  3. 双击.Net错误页面
  4. 从右侧的"操作"窗格中选择"编辑要素设置"
  5. 选择"打开"并给出要显示的页面名称当出现任何错误时

我遵循了以下步骤,没有在Global.asax中添加任何内容,它对我来说很好。只需尝试并从global.asax.中删除代码

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

注意路径分辨率的前导~