/ / asp.net domyślna strona obszaru mvc - asp.net-mvc, asp.net-mvc-areas

Domyślna strona obszaru mvc asp.net - asp.net-mvc, asp.net-mvc-areas

Mam witrynę MVC 2 z obszarem, powiedzmy, że nazwa obszaru to {Admin}

Obszary i strona działają dobrze.

Co próbuję zrobić, to mieć inną domyślną stronę tego obszaru.

Kiedy dzwonię http://webSiteName działa bez problemu

ale dla http://webSiteName/Admin Otrzymuję błąd

Zasób nie może zostać odnaleziony

Wypróbowałem to od ASP.NET MVC 2 RC 2 zwraca kontroler specyficzny dla obszaru, gdy nie określono obszaru ale bez powodzenia.

Próbowałem też

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

i

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

ale wciąż dostaję Zasób nie może zostać odnaleziony.

Co ja robię źle?

Odpowiedzi:

14 dla odpowiedzi № 1

Spróbuj tego. Upewnij się, że będzie /Areas/Admin/AdminAreaRegistration.cs kiedy twój obszar jest nazwany Admin.

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

Nie musisz niczego dodawać do swojej Global.asax.