На моем веб-сайте есть несколько действий, начинающихся с «Фильтр ...», которые используются моими формами для обновления частичных представлений.
Я бы хотел легко их направить, не сопоставляя каждое из них. Я попытался с некоторым регулярным выражением, но не получил никакого результата.
Например:
data/filterbydate -> should be Controller: Data - Action: filterbydate
data/filterbyproject -> should be Controller: Data - Action: filterbyproject
data/filterbyname -> should be Controller: Data - Action: filterbyname
...
На самом деле мне бы не понадобилось указывать c маршрутизацию, если бы у меня не было Следующее правило в нижней части моего RouteConfig
url: "Data/{nodeAlias}"
, которое заставляет меня реализовать маршрутизацию для каждого действия в моем контроллере данных.
Я пробовал такие вещи, как url: "Data/Filter{*type}"
или:
route = routes.MapRoute(
name: "DataWithAlias",
url: "Data/{nodeAlias}",
defaults: new { action = "Detail", controller = "Content", nodeAlias = "" },
constraints: new { nodeAlias = "^(?!filter$).*$"}
);
но безуспешно ...
Я либо ищу:
- способ сопоставления всех моих действий фильтра в одном маршруте
- Или способ исключить из URL: «Данные / {nodeAlias}» все, что начинается с фильтра *
- Или способ избежать маршрутизации для этих действий фильтра, поскольку их URL-адреса уже правильно построены для целевого контроллера / действие