Search code examples
asp.netasp.net-mvcareas

Can I nest areas in ASP.NET MVC?


I want the follow URLs in my MVC application:

/Admin/Accounts/Groups
/Admin/Accounts/Users

I know I could create an Area named Admin, and then create Groups and Users controllers inside that area.

Could I instead create nested areas? (An Area named Admin, and inside of this area an Area named Accounts)


Solution

  • To accomplish your desired URL above, just specify it in the route configuration of your "Admin" area like this:

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Admin_default",
            "Admin/Accounts/{controller}/{action}/{id}",
            new { action = "Index", id = UrlParameter.Optional }
        );
    }
    

    No need to create Groups or Users controllers.