在ASP.NET MVC中路由到区域主页

时间:2010-10-28 10:47:41

标签: asp.net-mvc routing areas

我正在尝试路由到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中执行此操作,而无需使用创建重新路由到区域控制器的虚拟控制器,但我已经画了一个空白。

1 个答案:

答案 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
);