开发者

asp.net mvc area default page

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?


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜