Как направить к действию url.com/ControllerA/ControllerB/ControllerB в MVC - PullRequest
0 голосов
/ 03 апреля 2019

Итак, у меня есть ProjectsController с маршрутом по умолчанию url.com/projects/action, и у меня есть контроллер для каждого проекта, например MosaController. URL-адрес проекта должен быть url.com/projects/ enjProjectName отпуска/action, поэтому в примере с Mosa url.com/projects/Mosa/action.

Я установил маршрут в RouteConfig, который может решить эту проблему

routes.MapRoute(
    name: "ProjectViewRoute",
    url: "projects/{controller}/{action}",
    defaults: new { controller = "Projects", action = "Index" }
);

Это работает, я могу вызвать url.com/projects/action и url.com/projects/Mosa/action, и будет выбран правильный контроллер, но когда я вызываю URL-адрес url.com/ndomProjectName отпуска/action, он вызывает действие из-за маршрута по умолчанию. Есть ли способ игнорировать маршрут по умолчанию? Или есть лучший способ объединения контроллеров, как этот?

Спасибо!

1 Ответ

0 голосов
/ 03 апреля 2019

Вам нужен маршрут по умолчанию для других частей вашего приложения? Если нет, то почему бы просто не удалить его и просто получить ProjectViewRoute? Или рассмотрите возможность создания «Проектов» в качестве «области» MVC (https://www.c -sharpcorner.com / article / Getting-Start-with-Area-in-asp-net-mvc / ). Это исключило бы специфический для проекта маршрут за пределами области Проектов.

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