Asp.net mvc 注册表全局过滤器和手柄箭头属性不工作

Asp.net mvc 注册表全局过滤器和手柄箭头属性不工作,asp.net-mvc,asp.net-mvc-3,handleerror,Asp.net Mvc,Asp.net Mvc 3,Handleerror,在与RegisterGlobalFilter和HandleErrorAttribute永远斗争之后,我决定回到赤裸裸的状态。我使用该模板在VS10中创建了一个新的MVC3项目。在About操作中添加throw DivideByZeroException并启动开发服务器。预计不会看到黄色屏幕 但我做到了 为什么这对我不起作用 更新 阿切尔和亚当·图利伯的建议有点奏效。调用了错误视图 然后我继续在RegisterGlobalFilters中添加这个 filters.Add(new HandleErr

在与RegisterGlobalFilter和HandleErrorAttribute永远斗争之后,我决定回到赤裸裸的状态。我使用该模板在VS10中创建了一个新的MVC3项目。在About操作中添加throw DivideByZeroException并启动开发服务器。预计不会看到黄色屏幕

但我做到了

为什么这对我不起作用

更新

阿切尔和亚当·图利伯的建议有点奏效。调用了错误视图

然后我继续在RegisterGlobalFilters中添加这个

filters.Add(new HandleErrorAttribute { ExceptionType = typeof(DivideByZeroException), View = "DivideByZeroException", Order = 1 });
filters.Add(new HandleErrorAttribute { View = "AllOtherExceptions", Order = 2 });
调用了AllOtherExceptions视图。为什么不使用DivideByZeroException视图


后续问题已发布

您的web.config中是否打开了自定义错误?
如果没有打开,它应该可以工作。

您的web.config中是否打开了自定义错误?
如果不打开,则应工作。

当满足以下条件时,HandleErrorAttribute工作

  • 在web配置中启用了CustomErrors
  • 如果异常为HttpException,则其错误代码为500
在满足第二个条件的情况下,请确保已启用自定义错误

<system.web>
     <customErrors mode="On"></customErrors>
</system.web>

当满足以下条件时,HandleErrorAttribute将起作用

  • 在web配置中启用了CustomErrors
  • 如果异常为HttpException,则其错误代码为500
在满足第二个条件的情况下,请确保已启用自定义错误

<system.web>
     <customErrors mode="On"></customErrors>
</system.web>


老实说,我预料到了你的反应,但我没有把它排除在工作之外。我认为如果没有注册MVC处理程序,这是一种退路。请查看我的更新。老实说,我期待着你的回复,但我并没有把它排除在工作之外。我认为如果没有注册MVC处理程序,这是一种退路。请查看我的更新。请注意调试错误处理和任何其他全局代码的人员:在编译之间回收Web服务器。请注意调试错误处理和任何其他全局代码的人员:在编译之间回收Web服务器。