11

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

这些地区和网站工作正常。

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

当我调用http://webSiteName时没有问题

但是对于http://webSiteName/Admin我收到了错误

没有找到您要查的资源

我尝试了ASP.NET MVC 2 RC 2 在没有指定区域 但没有运气时返回区域特定控制器的解决方案。

我也试过

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" }
                 );

但我仍然无法找到资源。

我究竟做错了什么?

4

1 回答 1

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.

于 2010-07-21T10:48:09.547 回答