asp.net mvc area default page
Asked Answered
T

1

11

I have a MVC 2 site with an area, let's say the area name is {Admin}

The areas and the site works fine.

What I am trying to do is to have different default page for the area.

When I am calling http://webSiteName works with no problem

but for http://webSiteName/Admin I am getting the error

The resource cannot be found

I tried it out the solutions from ASP.NET MVC 2 RC 2 returns Area-specific controller when no area specified but with no luck.

I tried also

routes.MapRoute(
                 "Admin",                                         
                 "{controller}/{action}/{id}",                               
                 new { controller = "AdminHome", action = "index" },
                 new[] { "Web.Areas.Admin.Controllers" }
                 );

and

routes.MapRoute(
                 "Admin",                                      
                 "Admin",                              
                 new { controller = "AdminHome", action = "index" },   
                 new string[] { "Web.Areas.Admin.Controllers" }
                 );

but I am still getting The resource cannot be found.

What am I doing wrong?

Twitty answered 21/7, 2010 at 10:40 Comment(1)
Please mark the anser as accepted if it helped you.Divan
D
15

Try this. Make sure it will be in /Areas/Admin/AdminAreaRegistration.cs when your Area is named Admin.

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

You don't have to add anything to your Global.asax.

Divan answered 21/7, 2010 at 10:48 Comment(1)
Thanks Martin, finally it was easier than I thought. :)Twitty

© 2022 - 2024 — McMap. All rights reserved.