默認路由看起來像這樣在global.asax中:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new {controller = "Home", action = "Index", id = UrlParameter.Optional},
);
這意味着,如果沒有已經被指定(如在http://yoursite/
)的"Home"
控制器將被使用。默認操作是"Index"
(如http://yoursite/somename/
)。
重定向到網站首頁
有了這些知識,我們可以使用RedirectToRoute
親臨現場,並在控制器的主頁。讓我們先從控制器:
return RedirectToRoute("Default");
重定向到默認控制器的動作
如果我們想爲控制器的默認操作,我們可以直接使用該動作的名稱,如:
return RedirectToAction("Index");
或指定RedirectToRoute
控制器:
return RedirectToRoute("Default", new { controller = "somename" });
但是,這將產生在每個控制器重複的代碼,所以我們將代碼移到我們BaseController
代替:
public ActionResult RedirectToHome()
{
return RedirectToRoute("Default", new { controller = RouteData.Values["controller"] });
}