2010-07-19 137 views
1

我在VS2010中創建一個新的MVC應用程序開箱。在主控制器我已經療法如下:錯誤處理不工作的ASP.NET MVC

[HandleError(View = "Error")] 
    public ActionResult Index() 
    { 


     int num1 = 0; 
     int num2 = 5; 

     int result = num2/num1; 

     return View(); 

    } 

這將創建一個錯誤和調試彈出,然後如果我繼續一個黃色畫面。我無法將它重定向到Error.aspx頁面。我有這樣的web.config:

<customErrors mode="On" defaultRedirect="~/Error.aspx"> 
</customErrors> 

但它不會重定向到正確的錯誤頁面,儘管是一個全新的項目。我如何配置這個工作請?

謝謝

+1

在黃色屏幕上發佈錯誤消息 – amurra 2010-07-19 19:04:47

回答

1

這是在MVC概述教程中討論的。 IIS錯誤的行爲取決於您的IIS版本。

Using ASP.NET MVC with Different Versions of IIS (C#)

+0

我看不到有關該鏈接錯誤處理的任何信息 - 儘管這是一個很好的資源。我有IIS 7.0 – user375564 2010-07-19 19:05:42

+0

糟糕!錯誤的答案。您可以試試這個http://stackoverflow.com/questions/619895/how-can-i-properly-handle-404s-in-asp-net-mvc/2577095#2577095 – 2010-07-19 19:38:29

+0

感謝偉大的鏈接。我只是創建一個新的mvc項目,並在家庭控制器的索引操作中拋出一個錯誤,並且它工作正常。我不明白爲什麼它第一次沒有工作,我永遠不會。儘管如此,我仍然得到了調試器的支持。我需要採取什麼模式來阻止這種情況的發生?以及我如何把它放在這種模式? – user375564 2010-07-19 19:45:15

1

如果我試圖複製這個我重定向到默認的錯誤在共享視圖文件夾中查看 - 它看起來像MVC會覆蓋對web.config中的defaultRedirect屬性所做的任何設置。

在你的web.config中,你試圖重定向到一個物理的aspx頁面。您的操作中的HandleError屬性將嘗試在您的特定視圖文件夾中首先查找名爲Error的視圖,然後移至共享視圖文件夾。只要選擇一個或另一個,你應該沒問題。