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