Проблема с настройкой контроллера по умолчанию в MVC 2 RC Area - PullRequest
5 голосов
/ 12 января 2010

Это должно быть просто, но увы ...

Я установил область администратора в своем проекте MVC 2 (отдельные области проекта). Я создал пару контроллеров и их соответствующие папки просмотра. В методе AreaRegistration.RegisterArea я указал, что хочу, чтобы контроллером по умолчанию был «Dashboard»:

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

Если я перехожу к URL / Admin / Dashboard, индекс подходит просто отлично. Однако я хочу разрешить пользователю перейти в url / Admin / и увидеть то же самое. Однако, когда я делаю это, я получаю «Ресурс не найден».

Я просто мокну от реализации Area MVC 2, и я не думаю, что делаю что-то слишком сложное ... У кого-нибудь была такая же проблема? Нужно ли указывать отдельный маршрут, возможно на корневом уровне, а не на уровне области?

Ответы [ 3 ]

1 голос
/ 21 января 2010

Хорошо, странно.Поэтому я добавил другую область, названную «Администрирование», установил контроллер по умолчанию и добавил соответствующий контроллер, просмотр и т. Д.Различия?В моем первом случае я использовал «Admin» в качестве области.

1 голос
/ 12 января 2010

Попробуйте добавить этот дополнительный маршрут:

        context.MapRoute(
            "Admin_default2",
            "Admin"
            new { controller = "Dashboard", action = "Index", id = "" }
        )
0 голосов
/ 24 марта 2010
context.MapRoute(
               "Admin_default3",
               "Admin/{action}",
               new { controller = "Admin", action = "Index" }
               );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...