asp.net mvc 3中的自定义错误页面

Dav*_*ave 5 asp.net-mvc-3

我有一个新的asp.net mvc 3网站与剃刀引擎,我正在尝试让网站准备好生产,我不能让黄色死亡屏幕出现.在webforms中这很简单,只需打开web.config中的customErrors就可以了.

为了测试,我设置了一个测试控制器方法:

    public ActionResult Ex()
    {
        throw new InvalidOperationException();
    }
Run Code Online (Sandbox Code Playgroud)

我期望显示错误视图(/Views/Shared/Error.cshtml)而不是我得到黄色死亡屏幕,消息"由于对象的当前状态,操作无效".我尝试在web.config中打开customErrors,它仍然无法正常工作.我在Global.asax中调用RegisterGlobalFilters方法,但也尝试直接应用HandleError属性.

谢谢你的帮助.

37S*_*ars 12

打开自定义错误并将其路由到错误控制器.

<customErrors mode="On" defaultRedirect="~/Error/Unknown">
  <error statusCode="403" redirect="~/Error/NoAccess" />
  <error statusCode="404" redirect="~/Error/NotFound" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)

控制器需要动作Unknown,NoAccess和NotFound.每个人都需要返回一个视图.