Как я могу различить эти 2 маршрута MVC? - PullRequest
1 голос
/ 17 июля 2011

У меня есть эти маршруты в моей области регистрации. Кажется, второй маршрут дает мне ресурс Не найдена ошибка.

            context.MapRoute(
                "viewer",
                "forum/{id}",
                new { controller = "View", action = "Index" }
            );

            context.MapRoute(
                "contacts",
                "forum/contacts",
                new { controller = "Contacts", action = "Index" }
            );

        context.MapRoute(
            "app_home",
            "forum/",
            new { controller = "Home", action = "Index" }
        );

Кажется, что первый маршрут блокирует URL для второго. Контроллеры действия разные: Тест и Контакты.

Пример URL для первого маршрута:

www.<mysite>/forum/12345  <-- view forum 12345

Пример URL для второго маршрута:

www.<mysite>/forum/contacts  <-- view contacts homepage

Пример URL для третьего маршрута:

www.<mysite>/forum  <-- forum homepage

Как я могу выделить эти URL в маршрутах?

1 Ответ

4 голосов
/ 17 июля 2011

Сначала укажите маршрут contacts.

Маршруты упорядочены;механизм маршрутизации всегда будет выбирать первый соответствующий маршрут.
Поэтому вы всегда должны указывать наиболее конкретные маршруты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...