默认路由看起来像这样在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"] });
}