Можно ли использовать catchall и другие параметры в ASP.NET MVC Route? - PullRequest
2 голосов
/ 29 апреля 2010

Я хотел бы создать маршрут, который будет выглядеть примерно так:

rout.Add (новый маршрут ("{* url} / {action} .do / {id}", новый MvcRouteHandler ())

Возможно ли это? Кажется, что ловушка должна быть последней?

Ответы [ 2 ]

1 голос
/ 29 апреля 2010

Перехват должен быть последним параметром в маршруте, так как он говорит: «соответствует полнота того, что осталось от URL».

Однако вы могли бы подделать его, имея только ловушку и используя собственный MyRouteHandler вместо MvcRouteHandler. Ваш пользовательский обработчик маршрута будет просто манипулировать RouteContext, чтобы разделить действия и id из URL-адреса перед передачей его в MvcRouteHandler для обработки.

0 голосов
/ 29 апреля 2010

С ScottGu :

Среда MVC выбирает Контроллер для использования путем оценки Правила RouteTable в том порядке, в котором они были зарегистрированы

Я думаю, что вы можете зарегистрироваться после всеобщего охвата, но это никогда не будет выполнено, потому что первое совпадение будет достигнуто.

...