RegisterArea in ASP.NET MVC

In the previous article, we provided you an overview of the areas in ASP.NET MVC. When a new area is created in ASP.NET MVC, a file with the area name suffixed by AreaRegistration will be created.

In the example as described in the previous article, the AbundantcodePayrollAreaRegistration.cs contains the following

using System.Web.Mvc;

namespace MvcApplication1.Areas.AbundantcodePayroll

{

public class AbundantcodePayrollAreaRegistration : AreaRegistration

{

public override string AreaName

{

get

{

return "AbundantcodePayroll";

}

}

public override void RegisterArea(AreaRegistrationContext context)

{

context.MapRoute(

"AbundantcodePayroll_default",

"AbundantcodePayroll/{controller}/{action}/{id}",

new { action = "Index", id = UrlParameter.Optional }

);

}

}

}

This class contains the RegisterArea method which is used to register the route with the pattern for the area.

In the sample above the following route is registered.

“AbundantcodePayroll/ {controller}/{action}/{id}”

Additionally, all the areas are automatically are registered via the RegisterAllAreas method which is called in the Global.asax.cs.