Вопрос документации по маршрутизации URL - PullRequest
2 голосов
/ 27 мая 2010

Я читаю о маршрутизации URL на Как: определить маршруты для приложений веб-форм , и в примере есть кое-что, чего я не понимаю. Если вы посмотрите на приведенный ниже пример,

routes.MapPageRoute("", "SalesReport/{locale}/{year}/{*queryvalues}", "~/sales.aspx");

конкретно на

"SalesReport/{locale}/{year}/{*queryvalues}"

Почему в значении запроса перед ним стоит звездочка, а в локали и в году - нет?

1 Ответ

0 голосов
/ 27 мая 2010

* указывает на параметр «поймать все», который по существу соответствует всему остальному в запрошенном URL.

Все, что после параметра "year" в URL будет сброшено в параметр queryvalues. Так, например, URL

http://whatever/SalesReport/canada/1999/x=1

даст вам переменную queryvalues, заполненную "x=1". Но это также будет соответствовать URL

http://whatever/SalesReport/canada/1999/x=1/y=2/z=3

и значения запросов будут заполнены "x=1/y=2/z=3".

В вашем маршруте может быть только один универсальный параметр, и он должен быть последним параметром.

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