2013-02-12 3 views
2

Я использую MVC4 без WebAPI, просто на MVC. У меня есть админка (так называемая "Admin", как обычно), который должным образом зарегистрирован:MVC4 без WebAPI: Возврат маршрутов области 404

public class AdminAreaRegistration : AreaRegistration 
{ 
    public override string AreaName { get { return "Admin"; } } 

    public override void RegisterArea(AreaRegistrationContext context) 
    { 
     context.MapRoute("EditGroupRoute", "admin/groups/{action}/{id}", new { controller = "EditGroup", action = "Index", id = UrlParameter.Optional }); 
     //... 
     //No default handler at the end, all routes are predetermined 
    } 

Global.asax:

public class MvcApplication : System.Web.HttpApplication 
{ 
    protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 
     //...        
    } 
} 

Моей постоянная, не междугородний RouteConfig.RegisterRoutes работает как должна и содержит нормальных маршрутов без по умолчанию обработчика catch-all в конце.

Всякий раз, когда я пытаюсь использовать маршрут в админ-зоне, я получаю ошибку 404. Я использую Haare's RouteDebugger, и он показывает полное соответствие (и только одно соответствие) под текстом ошибки 404, с правильной областью, контроллером и действием.

Я проверял подобные вопросы на SO, но без радости. Любые идеи, что может быть неправильным?

ответ

1

Контроллеры области были в неправильном пространстве имен. Первоначально они были в /Controllers, когда я переместил их в контроллеры областей, я не обновлял пространства имен.

Смежные вопросы