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

时间:2015-01-06 10:12:00

标签: asp.net asp.net-mvc iis asp.net-mvc-5

关于如何在ASP.NET MVC中设置自定义错误页面有很多好的帖子,但是找不到可以描述是否可以传递Exception对象本身的帖子,例如,显示异常消息(用于用户错误)。

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

有可能吗?我使用的是IIS7.5和ASP.NET MVC5。

更新

以下是一个示例场景。正在向Account/Users发送请求。让我们说它需要一些我在行动中检查的特殊权限,如果不满足,我会用文本"You don't have permission to see the list of users."抛出一个适当的例外。在此异常的影响下,我的自定义错误操作由自定义错误模块调用,但我不知道基本异常是什么(如果有的话)。我希望能够在我的ErrorController中检查抛出了哪个异常(如果有的话),并在错误页面中包含它的消息。

1 个答案:

答案 0 :(得分:0)

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

中的页面

更新

你可以传递Exception 会话,饼干,TempData的