2013-03-14 112 views
1

是否有可能基於URL或路徑有一個自定義錯誤頁面?例如,我想要在/ images,/ styles,/ javascript下發生的任何404錯誤以非常快的速度失敗,並且找不到標準404。然而,其他任何東西都應該生成一個用戶友好的自定義404(這可能是一個更重的反應,是一個用普通頁面佈局元素的用戶友好頁面)。這可能嗎?現在,我使用的是這樣的:基於ASP.NET MVC路徑/ URL的自定義錯誤頁面

<httpErrors errorMode="Custom" existingResponse="Replace"> 
    <remove statusCode="404" subStatusCode="-1" /> 
    <error statusCode="404" path="/notfound" responseMode="ExecuteURL" /> 
</httpErrors> 

但這捕捉所有 404錯誤。

+0

考慮使用您自己的Application_Error()方法中的錯誤識別。例如,您可以檢查路由 - 如果錯誤導致的請求url包含「/ images」或「/ styles」或「/ javascript」,則重定向到簡單的404頁面;在其他情況下,您會將用戶重定向到另一個頁面。
P.S.看看這個鏈接:http://www.secretgeek.net/custom_errors_mvc.asp – 2013-03-15 11:43:32

+0

@RobertSkarżycki謝謝。 – Matt 2013-03-15 13:48:05

回答

0

我還沒有找到一個基礎的.config解決這個問題,但什麼我落得這樣做是:

  • 我一直在我<httpErrors>配置,重定向到/錯誤/ NOTFOUND
  • 裏面/Error/NotFound,我看我的排除條件,使我的錯誤頁面的「基本」的版本,這是最小的光,避免佈局等

    public ViewResult NotFound() 
    { 
        if(testForFastFail){ 
         return View("NotFoundBasic"); 
        } 
    
        return View(); 
    }