2011-05-20 24 views
0

我有一個ASP.Net MVC 2 Web應用程序,我有HomeController。索引方法生成未經授權的異我有customErrors = on。現在我想用Exception.Message在共享文件夾中顯示一個視圖Error.aspx。但是我在瀏覽器中找不到資源/錯誤。HandleError屬性不能以預期的方式工作

注:我已經通過了StackOverflow上的所有相關鏈接。

有幫助嗎?

+0

請張貼一些代碼,你如何使用自定義錯誤屬性。並注意,默認情況下,該屬性加載默認的'error.aspx'視圖。所以請確保你沒有刪除它。 – sra 2011-05-20 11:52:41

回答

2

循序漸進:

  1. 創建使用默認的Visual Studio嚮導
  2. 修改HomeController的,這樣它看起來像這樣的新的ASP.NET MVC項目:

    [HandleError] 
    public class HomeController : Controller 
    { 
        public ActionResult Index() 
        { 
         throw new Exception("oops"); 
        } 
    } 
    
  3. 將以下內容添加到web.config的<system.web>部分:

    <customErrors mode="On" /> 
    
  4. 運行應用程序

  5. 正如預期的~/Views/Shared/Error.aspx顯示
+0

謝謝。但我想將Exception對象傳遞給這個錯誤視圖,以便我可以顯示消息。 – Morin 2011-05-20 12:28:04

+1

@Morin,異常對象已通過'HandleError'動作過濾器傳遞給'Error.aspx'視圖。這個視圖強制類型爲「System.Web.Mvc.HandleErrorInfo」。因此,您可以簡單地:'<%= Html.DisplayFor(x => x.Exception.Message)%>'來顯示錯誤消息。 – 2011-05-20 13:10:13

相關問題