我有一个新的MVC 4.0解决方案,使用VS2012 web express和IIS Express从头开始创建。 由于瓦说,我改变了我的web.config和添加以下:自定义错误不会重定向到自定义页面,但MVC默认错误页面
<customErrors defaultRedirect="Errors/GenericError.html" mode="On">
<error statusCode="404" redirect="Errors/Error404.html"/>
</customErrors>
基本上当我在我的控制器得到一个异常的默认MVC error.cshtml显示错误,而不是我的自定义页面GenericError。 HTML。
如果我去了一个不存在的URL,我的Error404.html显示正确,但不是通用场景。
任何想法如何改变这种行为?
我的解决方案,因此它的存在在AppStart的/ FilterConfig.cs。否则,它甚至不会在共享视图中显示错误页面,我猜? 这是我的FilterConfig.cs: using System.Web; using System.Web.Mvc; 命名了myNameSpace { 公共类一个FilterConfig { 公共静态无效RegisterGlobalFilters(GlobalFilterCollection过滤器) { filters.Add(新HandleErrorAttribute()); } } } – Jay
好的,这正是我所经历的行为,所以现在你用这种方式解释我至少可以把握这个概念。我会玩弄你提到的有关使用不同观点的消声。非常感谢。标记为已回答。 – Jay
是否有任何HandleErrorAttribute如何依赖于MVC管道的引用?例如,当路径到达一个不存在的控制器时,这似乎被web.config中的customErrors捕获,但解析控制器应该在MVC管道中,对吧? – Alex