Страница по умолчанию для asp.net mvc

У меня есть сайт MVC 2 с областью, допустим, имя области {Admin}

Области и сайт отлично работают.

То, что я пытаюсь сделать, - это иметь другую страницу по умолчанию для этой области.

Когда я звоню http://webSiteName работает без проблем

но для http://webSiteName/Admin Я получаю сообщение об ошибке

Ресурс не найден

Я попробовал решения из ASP.NET MVC 2 RC 2 возвращает Area-specific controller, если не указано ни одна область но не повезло.

Я также попробовал

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

Попробуйте это. Убедитесь, что он будет в /Areas/Admin/AdminAreaRegistration.cs, когда ваш Area имеет название Admin.

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

Вам не нужно ничего добавлять к вашему Global.asax.