Asp.net 如何将抛出的异常传递给自定义错误视图?

Asp.net 如何将抛出的异常传递给自定义错误视图?,asp.net,asp.net-mvc,iis,asp.net-mvc-5,Asp.net,Asp.net Mvc,Iis,Asp.net Mvc 5,有很多关于如何在ASP.NET MVC中设置自定义错误页的好文章,但是还没有找到一篇能够描述是否可以传递异常对象本身的文章,例如显示异常消息(针对用户错误) 我已经设置了一个ErrorController,其中包含NotFound、BadReqest和catch all Error等操作和视图。我想打印出异常消息(如果存在),例如在BadReqest视图中(对于用户错误,我也使用500状态) 可能吗?我正在使用IIS7.5和ASP.NETMVC5 更新 下面是一个示例场景。正在将请求发送到帐户/

有很多关于如何在ASP.NET MVC中设置自定义错误页的好文章,但是还没有找到一篇能够描述是否可以传递异常对象本身的文章,例如显示异常消息(针对用户错误)

我已经设置了一个ErrorController,其中包含NotFound、BadReqest和catch all Error等操作和视图。我想打印出异常消息(如果存在),例如在BadReqest视图中(对于用户错误,我也使用500状态)

可能吗?我正在使用IIS7.5和ASP.NETMVC5

更新


下面是一个示例场景。正在将请求发送到
帐户/用户
。假设它需要一些特权,我会在操作中检查这些特权,如果没有满足,我会抛出一个适当的异常,并显示文本
“您没有查看用户列表的权限。”
。由于这个异常,我的自定义错误操作被自定义错误模块调用,但是我不知道基本异常是什么(如果有的话)。我希望能够检查ErrorController中引发的异常(如果有),并将其消息包含在错误页面中。

我认为您只需为所有错误创建一个
PageLayout
,并将错误文本(
exception message
)从控制器传递到
ViewBag

更新:

您可以在中传递异常
会话、Cookie、TempData

谢谢,但是在Cotnroller和View之间传递并不是问题(无论如何,我更喜欢具有异常类型的强类型视图),但问题是如何在ErrorController.BadreRequest操作中检索异常。例如,您可以在会话、Cookie、,tempdata也许您只需要在数据库中创建包含所有异常文本的表,并使用ID(来自DB)检查您需要哪个模块