我想要發生的是,如果用戶導航到Controller Action
頁面,如Home/Index
,並且存在操作,然後繼續正常。但是,如果用戶導航到不存在的Controller Action
Home/NotExist
那麼我想將其默認爲名爲MyController
的「默認」控制器。自定義路由如果控制器操作不存在mvc4
我已經試過它接受*url*
routes.MapRoute(
"CustomRoute",
"{*url}",
new { controller = "MyController", action = "MySingleAction" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
但Home/Index
正去CustomRoute,而不是默認
NB我試圖把路由的標準默認路由之前添加路由之後它會拋出一個錯誤
查看http://www.devcurry.com/2012/06/aspnet-mvc-handling-exceptions-and-404.html,特別是處理404錯誤。您應該能夠路由到默認的控制器/操作。這條路。 – Syneryx
@Syneryx - 謝謝你,所以我必須拋出一個404異常? MVC應該嘗試並在拋出異常之前映射路由 – CR41G14
據我所知,嘗試訪問錯誤的URL時默認會拋出404錯誤。並且您將自動定向到控制器等。 – Syneryx