好的,我想我已经准备好了StackOverflow的每一篇文章,并且仍然没有运气。Asp.Net MVC 3 App HandleError not working
我已经在我的global.asax中确认HandleErrorAttribute过滤器正在被注册。 我在我的web.config中设置了customErrors mode="On"
。 我在我的Error.cshtml文件中将Layout=null
更改为Layout="~/Views/Shared/_Layout.cshtml"
。
然后,我在帐户控制器的索引操作中添加了一个throw Exception()
,并浏览到localhost:5050/Account/Index
,但是我收到了标准YSOD错误堆栈内容。
我甚至尝试了以下(虽然从我的理解,它不应该的问题):
- 添加
[HandleError]
和[HandleError(View="Error")]
我的控制器。 - 添加
defaultRedirect="Error"
到我的customErrors在web.config中
我还能做什么?有什么方法可以告诉HandleError过滤器发生了什么,或者告诉错误视图是否正在生成?
感谢您的帮助。
P.S.顺便说一句,我使用VS2010,IE9 & Chrome
您的_layout.cshtml中是否有错误?这会使它出错两次,然后它只是默认为.Net黄色屏幕。 – 2012-02-24 21:07:48
不是我能说的。这与_ViewStart使用的_Layout文件是相同的,如果我从我的Action中删除了该throw,则视图显示正常......没有错误抛出。 – RHarris 2012-02-24 21:15:02
什么是您的customErrors元素中列出的错误文件的路径?请认真发布您的customErrors部分 – 2012-02-24 22:02:54