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