异常未传递到MVC4中的错误页面

时间:2013-12-10 19:23:27

标签: asp.net-mvc c#-4.0 error-handling custom-errors

我已将customErrors模式设置为开启并重定向到:

enter image description here

以下是我在解决方案中的观点:

enter image description here

每当我有一个未处理的异常时,我的应用程序会按预期将我重定向到错误页面。但是,我丢失了异常信息,因为,我假设,该应用程序正在重定向。我甚至在customErrors元素中尝试了redirectMode="ResponseRewrite",但这不起作用。

所以,这是我的错误控制器上的“索引”视图,应用程序正在重定向到通知模型:

enter image description here

进一步说,我有:

enter image description here

但是,@ Model是null。如何从customErrors重定向中获取异常信息?

1 个答案:

答案 0 :(得分:2)

要获得该模型,您需要使用HandleErrorAttribute过滤器来捕获错误。 您可以在此处查看说明:http://www.c-sharpcorner.com/UploadFile/abhikumarvatsa/handleerrorattribute-or-error-handling-in-mvc-4/

TL; DR:

禁用重定向,但请确保自定义错误仍然存​​在:

<customErrors mode="On"/>

确保全局注册HandleErrorAttribute过滤器(默认情况下):

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new HandleErrorAttribute());
}

将错误视图移至/重命名为~\Views\Shared\Error.cshtml