Aspnet жадный параметр маршрута - PullRequest
0 голосов
/ 21 мая 2018

Я сопоставил маршрут:

routes.MapRoute("test", "/{p1:int}-{p2}", new { controller = "test", action = "int" });

Такой маршрут должен соответствовать int-string, например /1-stuff, и он работает для таких случаев, однако он не работает для /1-stuff-stuff.Я предполагаю, что это потому, что маршрут совпадает, а затем параметры отклоняются из-за ограничения int.

Если я удаляю ограничения p1 равно 1-stuff, а p2 равно stuff.Есть ли способ правильно применить ограничения или пометить p2 как «жадный» (но не универсальный), поэтому p1 равно 1 и p2 равно stuff-stuff?

Этоочень важно для создания простых для человека URL-адресов, где идентификаторы находятся впереди, а все в кебабе без дополнительных символов.

Catch-all у меня не работает. Мне нужно, чтобы p2 был привязан к параметру action.Regex не помогает.

...