asp.net mvc区域默认页面

时间:2010-07-21 10:40:28

标签: asp.net-mvc asp.net-mvc-areas

我有一个带有区域的MVC 2站点,假设区域名称为{Admin}

区域和网站工作正常。

我要做的是为该区域设置不同的默认页面。

当我致电 http://webSiteName 无问题时

http://webSiteName/Admin 我收到了错误

  

无法找到资源

我尝试了ASP.NET MVC 2 RC 2 returns Area-specific controller when no area specified的解决方案 但没有运气。

我也尝试了

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

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

但我仍然无法找到资源。

我做错了什么?

1 个答案:

答案 0 :(得分:15)

试试这个。当您的区域命名为/Areas/Admin/AdminAreaRegistration.cs时,请确保它位于Admin

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

您无需向Global.asax添加任何内容。