自定义错误页面的重定向循环

时间:2014-03-27 14:29:14

标签: c# asp.net .net redirect

对于错误处理,我已将以下代码添加到Web.config:

<system.web>
    <customErrors mode="On" defaultRedirect="~/Error.cshtml?">
    </customErrors>
<system.web>

在Global.asax.cs中:

void Application_Error(object sender, EventArgs e)
{
    // Code that runs when an unhandled error occurs
    Response.Redirect("/Error.cshtml?");
}

但是,当重定向到/Error.cshtml?发生时,出现错误'此页面有重定向循环'

我搜索了其他类似的问题(例如How to solve Redirect Loop)。但是,我没有其他路由调用Error.cshtml - 所以有谁知道是什么导致这个循环以及我如何解决它?

编辑:发生了多个错误,因此错误页面重定向涉及重定向循环。有没有人知道只调用一次Response.Redirect(“〜/ Error.cshtml”)的方法?

EDIT2:如果我将重定向网址更改为项目外的随机网址(例如https://www.facebook.com/),则customError重定向正常工作。仍在寻找一种方法来重定向到项目页面而不会无限循环错误

2 个答案:

答案 0 :(得分:0)

尝试添加:

Server.ClearError();

首先清除重定向前的现有错误。

答案 1 :(得分:0)

添加redirectMode =&#34; ResponseRewrite&#34;到customErrors部分。