为1个网站的2个不同部分设置2个不同的自定义错误页面

时间:2015-05-22 09:04:37

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

目前,我的整个ASP .NET站点都有一个自定义错误页面:

<system.web>
    <customErrors mode="RemoteOnly" defaultRedirect="~/ErrorPage.aspx" />
</system.web>

但是,我想设置2个不同的错误页面,因此侧面不同部分的错误将导致重定向到不同的错误页面。例如:

  • 当用户在http://example.com/Part1/内的页面中遇到错误时,他们将重定向到ErrorPage1.aspx
  • 当用户在http://example.com/Part2/内的网页中遇到错误时,他们会重定向到ErrorPage2.aspx

有可能吗?

2 个答案:

答案 0 :(得分:1)

ASP.NET允许在子目录中覆盖"a.b.c"中的某些设置;这包括错误处理。只需创建:

web.config

<system.web> <customErrors mode="RemoteOnly" defaultRedirect="~/ErrorPage1.aspx" /> </system.web>

Part1\web.config

<system.web> <customErrors mode="RemoteOnly" defaultRedirect="~/ErrorPage2.aspx" /> </system.web>

答案 1 :(得分:0)

不,显示的页面只能基于HTTP结果代码,如500,404等,可以读取on this page。引自那里:

  

&#34;更好的方法是使用自定义错误页面,该页面需要创建和设计自定义错误页面,并在部分的defaultRedirect属性中指定其URL。您甚至可以为不同的HTTP错误状态设置多个自定义错误页面。&#34;

您可以在try / catch块中使用自己的错误处理,并在那里手动重定向。