0
我有2个相同的名称控制器,ShopController
,一个是normal
控制器(基本上你通常把它们放在哪里),另一个在Admin
区域。路由相同的名称控制器和不同的区域
这里是我的路线:
routes.MapRoute("Shop", "shop/{action}/{id}", new { controller = "Shop", action = "Index", id = UrlParameter.Optional }, new[] { "CMS.Controllers" });
routes.MapRoute("CategoriesrPartial", "Admin/Shop/CategoriesNavPartial", new { controller = "Shop", action = "CategoriesNavPartial" }, new[] { "CMS.Areas.Admin.Controllers" });
底部应该被连接到Admin
地区之一,最上面的一个到正规之一。
我试着在这里添加基于另一个答案的命名空间,但它们没有什么区别,即使我在其中添加一些乱码也没有什么区别。
我该如何让这些路线指向我想要的确切控制器?
为什么你甚至需要第二个路由注册?路由模式匹配路由约定('areaname/controllername/actionmethod') – Shyju
由于我从一开始就没有遵循路由约定,所以每个新的控制器都需要一个新的路由。 – frc
我会建议添加一个'area =“Admin”'到管理路由的默认值。或者在你的'AdminAreaRegistration.cs'文件中包含这个 – Bwolfing