Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 mvc在不同项目中使用相同名称的两个区域_Asp.net Mvc 3_Asp.net Mvc Routing_Controllers_Areas - Fatal编程技术网

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以及两个区域的两条路由吗?