对于ASP.NET MVC应用程序,我有2个名称为Home的控制器。控制器之一在Areas节中,一个不在。如果有人使用基本路径/,则我尝试默认使用Areas部分中的控制器。我认为这是可能的。我有以下设置,我相信应该可以实现:



当我转到/时,我仍被带到MVCArea01/Controllers/而不是MVCArea01/Areas/Admin/Controllers/的控制器中。

(如果图像中的代码太小而看不到,这是方法RegisterRoutes的代码)

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
        new[] {"MVCAreas01.Areas.Admin.Controllers"}  // I believe this code should cause "/" to go to the Areas section by default
    );

}


什么是正确的解决方案?

最佳答案

@ABogus

我修改了AdminAreaRegistration.cs文件。请参考下图



我也修改了Route.config如下。



我得到这样的输出



您可以从https://www.dropbox.com/s/o8in2389e8aebak/SOMVC.zip下载示例项目。

08-06 14:05