我有一個新的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