我正在做MVC 2 我已經給所有我的控制器類HandleError屬性。 我有 在我的web.config 我也在我的共享文件夾的視圖Error.aspx。 仍然在控制器異常,Error.aspx不會呈現Error.aspx/HandleError
1
A
回答
0
步驟:
- 創建一個使用默認模板
throw new Exception();
的索引操作中一個新的ASP.NET MVC 2項目HomeController
。- 添加在web.config中:
<customErrors mode="On" />
- 命中Ctrl + F5鍵運行的
Error.aspx
頁面顯示該項目 - 。
+0
而不是'拋出新的異常();'嘗試'拋出新的HttpException(401,「不會工作」);'那不會工作 – 2011-03-10 04:41:54
0
在StackOverflow上有很多關於這個的問題,因爲如果你不小心的話,這是一個很棘手的問題。從它的聲音中,您需要將HTTP響應設置爲OK
,否則服務器仍將呈現通用500錯誤頁面,因爲它仍認爲異常未得到正確處理。
要做到這一點,在你的錯誤觀點,添加以下代碼:
@{ Response.StatusCode = (int)HttpStatusCode.OK; }
讓我們知道這對你的作品!
編輯:您還需要確保您在網站根目錄的web.config文件的<System.Web>
部分中有<customErrors mode="On"/>
。
看看[這篇文章](http://stackoverflow.com/questions/1171035/asp-net-mvc-custom-error-handling-application-error-global-asax)。 – 2011-03-06 19:39:43