我希望能夠捕獲用戶請求不存在的控制器並將其重定向到404頁面時引發的異常。我怎樣才能做到這一點?如何將用戶重定向到ASP.NET MVC中的自定義404頁面而不是拋出異常?
例如,用戶請求http://www.nosite.com/paeges/1
(應該是/pages/
)。我如何使它重新定向到404而不是異常屏幕?
我希望能夠捕獲用戶請求不存在的控制器並將其重定向到404頁面時引發的異常。我怎樣才能做到這一點?如何將用戶重定向到ASP.NET MVC中的自定義404頁面而不是拋出異常?
例如,用戶請求http://www.nosite.com/paeges/1
(應該是/pages/
)。我如何使它重新定向到404而不是異常屏幕?
看看this page將404錯誤路由到指定頁面。
只需使用一個路線:
// We couldn't find a route to handle the request. Show the 404 page.
routes.MapRoute("Error", "{*url}",
new { controller = "Error", action = "404" }
);
由於這將是一個全球性的處理程序,把它放在默認路由下底部一路。
這是正確的嗎?因爲肯定的是,如果我爲{controller}/{action}/{id}定義路由,並且用戶使用不存在的控制器輸入網址,那麼當第一條路由匹配時,它將會黃色屏幕,並且您的抓住一切永遠不會達成? – jmcd 2008-10-22 19:48:03
我剛剛嘗試過這種方式,仍然得到默認的黃色屏幕404。 – 2011-12-15 21:03:17
發現這個在同一地點 - Strategies for Resource based 404s
您可能需要更新的答案,包括在它的相關細節。 – jgauffin 2016-05-17 05:03:44