我什至不确定我是否知道正确表达这一点的正确术语。我是 MVC 的新手,并且继承了一个部分完成的项目。
该项目使用区域,我对 MVC 和路由的理解不足以解决以下问题:
我有一个站点,例如“www.b2c.com”,并有一个区域“OnlineOrder”控制器“主页”并查看“索引”。我希望访问者在输入网址“ http://www.b2c.com ”时默认转到-> OnlineOrder/Home/Index 网址“ http://www.b2c.com/OnlineOrder/Home/Index “ 工作正常。
我的 RouteConfig 文件包含:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default_Home", // Route name
"", // URL with parameters
new { controller = "Home", action = "Index" }// Parameter defaults
);
我在区域的根文件夹中有一个区域注册文件:
public class OnlineOrderAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "OnlineOrder";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
name: "Info",
url: "OnlineOrder/{controller}/Info/{action}",
defaults: new { controller = "Home", action = "Index" }
);
context.MapRoute(
name: "Default",
url: "OnlineOrder/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
).DataTokens.Add("areas", "OnlineOrder");
}
}
不知道该怎么办。