5

在我的web.config中的customErrors標記中,我指向一個控制器。在我的控制器中,我重定向到由多個應用程序共享的外部錯誤頁面。如何獲得ASP.NET MVC以履行我的customErrors設置?

<customErrors defaultRedirect="~/Error/ServerError" mode="On">

我的控制器:

public class ErrorController : Controller 
{ 

    public ActionResult ServerError() 
    { 
     return Redirect("/Systems/ASPNETErrorHandling/ErrorPage.aspx"); 
    } 

    public ActionResult ErrorTest() 
    { 
     throw new Exception("testing error handling"); 
    } 
} 

我打電話錯誤/ ErrorTest測試錯誤處理。但它總是重定向到Views/Shared/Error.cshtml,而不是重定向到我指定的控制器。

如何獲得asp.net mvc以履行我的customErrors設置中的defaultRedirect路徑?

UDPATE:我也使用ELMAH並重寫HandleErrorAttribute,如this post中所述。我從.Net Reflector看到,基本的HandleErrorAttribute將Error設置爲視圖。我不認爲我可以做很多重定向到Error.cshtml或其他視圖。

回答

2

就像我在我的問題的更新中所說的,我重寫了HandleErrorAttribute,如this post中所述,以便使用ELMAH。基類自動將Error設置爲視圖。所以我剛剛註釋掉base.OnException(context);,它的工作原理。我不知道這是否是最好的解決方案,但我認爲它應該適用於我的目的。

相關問題