.NET MVC. У меня проблемы с определением и использованием пользовательских маршрутов. У меня есть контроллер всего с 2 действиями. Эти методы действия получают 2 параметра каждый. Я добавил собственный маршрут в RouteConfig.cs (перед маршрутом по умолчанию), например,
routes.MapRoute(
name: "customRoute",
url: "MyController/{action}/{entityType}/{id}",
defaults: new { controller = "MyController", action = "Index", entityType = UrlParameter.Optional, id = UrlParameter.Optional }
);
, это работает, если MyController содержит метод Index (и соответствующее представление). проблема в том, что MyController не содержит метод Index (только 2 метода действия, упомянутых ранее), и Я хочу, чтобы route.default был чем-то вроде Home / Index вместо . но если я изменю маршрут на это:
routes.MapRoute(
name: "customRoute",
url: "MyController/{action}/{entityType}/{id}",
defaults: new { controller = "Home", action = "Index", entityType = UrlParameter.Optional, id = UrlParameter.Optional }
);
, это не сработает. По-видимому, контроллер в route.url должен быть таким же, как и в route.defaults ...
ИСПРАВЛЕНИЕ : маршрут работает для правильного URL, но для неправильного (например, добавив еще один параметр в конце) он показывает ошибку 404 (имеет смысл, потому что MyController.Index не существует)
Итак, как этого можно достичь?