2

我正在尝试路由到 MVC 中某个区域的主页,例如

myDomain.com/myArea/Home/Index

当我使用网址时:

myDomain.com/myArea

MVC 似乎试图在根 Controllers 文件夹中找到一个名为“myArea”的控制器,从而将路由到:

myDomain.com/myArea/Index

如果控制器存在。

再次,我想要:

myDomain.com/myArea

路由到:

myDomain.com/myArea/Home/Index

我认为我应该能够在 Global.asax 中做到这一点,而不必求助于创建一个重新路由到区域控制器的虚拟控制器,但我已经画了一个空白。

4

1 回答 1

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
);
于 2010-10-28T22:10:39.377 回答