我在routeConfig文件中有两条路由,如下所示。带静态前缀的MVC路由
地图路线
- 路线与管理前缀它处理的管理部分请求
- 默认路由没有前缀,对此我添加了一个datatoken在备选区域
routes.MapRoute(
name: "admin",
url: "Admin/{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional },
namespaces: new[] { "abc.namespace1" }
);
routes.MapRoute(
name: "default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional },
namespaces: new[] { "abc.namespace2" }
).DataTokens.Add("area", "Candidate");
但问题是当我输入一个网址本地主机/ MyApp的/管理/首页/指数 它击中控制器abc.namespace1(预期)和本地主机/ MyApp的/首页/索引也创下主页里面控制器abc.namespace1代替HomeController里面的abc.namespace2在候选区域。
我想在这里做的是处理与管理前缀的所有路线里面控制器abc.namespace1和所有路由,而不与控制器的任何前缀内abc.namespace2这是我candiate区。
关于