我正在尝试路由到MVC中某个区域的主页,例如
myDomain.com/myArea/Home/Index
当我使用网址时:
myDomain.com/myArea
MVC似乎试图在根Controllers文件夹中找到一个名为“myArea”的Controller,从而路由到:
myDomain.com/myArea/Index
如果存在控制器。
同样,我想:
myDomain.com/myArea
路由到:
myDomain.com/myArea/Home/Index
我认为我应该可以在Global.asax中执行此操作,而无需使用创建重新路由到区域控制器的虚拟控制器,但我已经画了一个空白。
答案 0 :(得分:0)
我以前解决这个问题的一种方法是在Global RegisterRoutes方法中设置默认路由上的namespaces属性,这似乎解决了这个问题。不得不将这个限制添加到我在主网站的控制器和区域之间发生冲突的其他路线。
var namespaces = new[] { "CompiledExperience.Website.Web.Controllers" };
routes.MapRoute("Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces
);