Asp.net mvc 3 mvc在不同项目中使用相同名称的两个区域
我有一个具有以下结构的项目: 解决方案Asp.net mvc 3 mvc在不同项目中使用相同名称的两个区域,asp.net-mvc-3,asp.net-mvc-routing,controllers,areas,Asp.net Mvc 3,Asp.net Mvc Routing,Controllers,Areas,我有一个具有以下结构的项目: 解决方案 -CMS.core ---区域 ------管理员 ---------控制器 -Site.Web ---区域 ------管理员 ---------控制器 每次我试图路由到site.web/areas/admin/controllers下的控制器时,它似乎只在cms.core/areas/admin/controllers中查找 这有意义吗?如何将mvc路由到位于不同项目中的多个同名区域?您需要提供控制器所在的命名空间。。例如: routes.MapRou
-CMS.core
---区域
------管理员
---------控制器
-Site.Web
---区域
------管理员
---------控制器
每次我试图路由到
site.web/areas/admin/controllers
下的控制器时,它似乎只在cms.core/areas/admin/controllers
中查找
这有意义吗?如何将mvc路由到位于不同项目中的多个同名区域?您需要提供控制器所在的命名空间。。例如:
routes.MapRoute(
"SiteWebAdminRoute",
"site.web/areas/{controller}/{action}/{id}",
new { Area = "SiteWeb", controller = "Home", action = "Index", id = UrlParameter.Optional },
new string[] { "Site.Web.Areas.Admin.Controllers" });
…或类似的东西。注意下面的字符串数组。如果您查看Intellisense,它将显示此字符串数组表示此路由应在其中查找控制器的任何名称空间。您可以对其他区域路线执行相同操作。。除非你会提供一个不同的名称空间来查找。我已经尝试过提供名称空间,但当我尝试转到站点内的控制器时,仍然得到404。web/area/admin/area。。。我不知道如何在这个网站的回复中添加代码块…用额外的代码编辑你的原始问题。您能提供您正在尝试的URL以及两个区域的两条路由吗?