ASP.NET MVC Default URL View ASP.NET MVC Default URL View asp.net asp.net

ASP.NET MVC Default URL View


The route you listed only works if they explicitly type out the URL:

yoursite.com/{area}/{controller}/{action}/{id}

What that route says is:

If I get a request that has a valid {area}, a valid {controller} in that area, and a valid {action} in that controller, then route it there.

What you want is to default to that controller if they just visit your site, yoursite.com:

routes.MapRoute(    "Area",    "",    new { area = "Common", controller = "Home", action = "Index" });

What this says is that if they don't append anything to http://yoursite.com then to route it to the following action: Common/Home/Index

Also, put it at the top of your routes table.

Makes sure you're also letting MVC know to register the areas you have in the application:

Put the following in your Application_Start method in the Global.asax.cs file:

AreaRegistration.RegisterAllAreas();


What you have to do is:

  • Remove Default Route from global.asax.cs

    //// default route map will be create under area//routes.MapRoute(//    name: "Default",//    url: "{controller}/{action}/{id}",//    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }//);
  • Update SecurityAreaRegistration.cs in area Common

  • Add following route mapping:

     context.MapRoute(    "Default",    "",    new { controller = "Home", action = "Index", id = "" });


What you're doing seems correct. If I had to guess I would say this is happening due to the way you are running your website. In Visual Studio, if you have a specific view selected when you hit F5 that view will be the starting Url - try selecting the Project and then hitting F5?