Url未指向区域索引文件

时间:2011-12-13 11:29:23

标签: c# asp.net-mvc-3 routes

我希望在输入时能够访问我的管理页面:

www.sitename.com/admin

我决定选择该区域。然而它似乎还没有发挥作用。

我已经创建了一个管理区域,并在管理区域注册中更新了路径。它看起来像这样:

        context.MapRoute(
        "Admin_default",
        "Admin/{controller}/{action}/{id}",
        new { area = "Admin", action = "Index", id = UrlParameter.Optional },
        new string[] { "skylearn.Areas.Admin.Controllers" }
    );

    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 string[] { "skylearn.Controllers"}
        );
    }

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
    }

然而,似乎如果我去我的网址localhost:1337 / admin,我的HomeController服务的我的HOME文件夹中的索引文件将不会加载。这些文件夹和控制器也位于管理区域内。

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

尝试:

    context.MapRoute(
    "Admin_default",
    "Admin/{controller}/{action}/{id}",
    new { area = "Admin", controller = "Home", action = "Index", id = UrlParameter.Optional },
    new string[] { "skylearn.Areas.Admin.Controllers" }
);    

您没有为路线指定默认区域或控制器。