MVC 中的路由配置
Route Configuration in MVC
我目前的Route Config是这个,我认为是默认的
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
当我写作时
www.mypage.com
www.mypage.com/home
我得到相同的页面
我怎样才能使它们成为两个单独的页面
www.mypage.com
是首页,
www.mypage.com/home
是另一页
www.mypage.com 可以由根控制器处理,所有其他路由将由默认路由处理。
routes.MapRoute(
name: "Root",
url: "",
defaults: new {controller = "Root", action = "Index"}
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { action = "Index", id = UrlParameter.Optional }
);
显式默认值允许您当前看到的行为。
您仍然需要创建一个控制器来处理您的根站点调用
public class RootController : Controller {
public ActionResult Index() {
return View();
}
}
并且不要忘记为您的控制器创建相关的视图。
无需创建新的控制器。您可以使用相同的家庭控制器。在 Home Controller 中,创建 2 个操作 - Default 和 Index。在路由配置中,使用 -
routes.MapRoute(
name: "RootDef",
url: "",
defaults: new { controller = "Home", action = "Default", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我目前的Route Config是这个,我认为是默认的
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
当我写作时
www.mypage.com
www.mypage.com/home
我得到相同的页面
我怎样才能使它们成为两个单独的页面
www.mypage.com
是首页,
www.mypage.com/home
是另一页
www.mypage.com 可以由根控制器处理,所有其他路由将由默认路由处理。
routes.MapRoute(
name: "Root",
url: "",
defaults: new {controller = "Root", action = "Index"}
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { action = "Index", id = UrlParameter.Optional }
);
显式默认值允许您当前看到的行为。
您仍然需要创建一个控制器来处理您的根站点调用
public class RootController : Controller {
public ActionResult Index() {
return View();
}
}
并且不要忘记为您的控制器创建相关的视图。
无需创建新的控制器。您可以使用相同的家庭控制器。在 Home Controller 中,创建 2 个操作 - Default 和 Index。在路由配置中,使用 -
routes.MapRoute(
name: "RootDef",
url: "",
defaults: new { controller = "Home", action = "Default", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);