Доброго времени,
есть форма с method="get" которая шлет запрос на сервер,
урл получается следующий:
/Objects/Search?What=<что ищем>&Lat=<широта>&Lon=<долгота>
где Objects имя контроллера, Search=action
можно ли как-то преобразовать в урл следующего вида:
/Objects/Search/What/<что ищем>/Lat/<широта>/Lon/<долгота>
в таблице роутингов такой роут соответсвенно прописан.
Если нельзя то как задать то что некоторые парметры можно опустить в запросе.
сейча на следующий шаблон:
routes.MapRoute(
"ObjectsSearch",
"Objects/Search?What={What}&Lat={Lat}&Lon={Lon}",
new { controller = "Objects", action = "Search", Lat = UrlParameter.Optional, Lon=UrlParameter.Optional});
справедливо ругается:
[ArgumentException: The route URL cannot start with a '/' or '~' character and it cannot contain a '?' character.
Parameter name: routeUrl]
... << RSDN@Home 1.2.0 alpha 4 rev. 1270>>
Здравствуйте, cadet354, Вы писали:
C>Доброго времени,
C>есть форма с method="get" которая шлет запрос на сервер,
C>урл получается следующий:
C>C>/Objects/Search?What=<что ищем>&Lat=<широта>&Lon=<долгота>
C>
C>где Objects имя контроллера, Search=action
C>можно ли как-то преобразовать в урл следующего вида:
C>C>/Objects/Search/What/<что ищем>/Lat/<широта>/Lon/<долгота>
C>
routes.MapRoute(
"zzz", // Route name
"Objects/Search/{what}/{lat}/{lon}",
new { controller = "Objects", action = "Search"}
);
будет отвечать
и по
Objects/Search?What=<что ищем>&Lat=<широта>&Lon=<долгота>
и по
Objects/Search/<что ищем>/<широта>/<долгота>
Здравствуйте, mogadanez, Вы писали:
M>Здравствуйте, cadet354, Вы писали:
C>>Доброго времени,
C>>есть форма с method="get" которая шлет запрос на сервер,
C>>урл получается следующий:
C>>C>>/Objects/Search?What=<что ищем>&Lat=<широта>&Lon=<долгота>
C>>
C>>где Objects имя контроллера, Search=action
C>>можно ли как-то преобразовать в урл следующего вида:
C>>C>>/Objects/Search/What/<что ищем>/Lat/<широта>/Lon/<долгота>
C>>
M>M> routes.MapRoute(
M> "zzz", // Route name
M> "Objects/Search/{what}/{lat}/{lon}",
M> new { controller = "Objects", action = "Search"}
M> );
M>
M>будет отвечать
M>и по
M>Objects/Search?What=<что ищем>&Lat=<широта>&Lon=<долгота>
M>и по
M>Objects/Search/<что ищем>/<широта>/<долгота>
так дело в том, что хотелось бы Objects/Search/What/<что ищем>/Lat/<широта>/Lon/<долгота>, причем Lat и Lon очень хотелось бы
можно конечно повеситься на form.submit и переколбасить урл, но думал что есть прямее путь
... << RSDN@Home 1.2.0 alpha 4 rev. 1270>>
Здравствуйте, cadet354, Вы писали:
C>так дело в том, что хотелось бы Objects/Search/What/<что ищем>/Lat/<широта>/Lon/<долгота>, причем Lat и Lon очень хотелось бы
C>можно конечно повеситься на form.submit и переколбасить урл, но думал что есть прямее путь
прости, а зачем? читабельность в этом случае нифига не повышается, ибо нету четкой связи ( ввиде = ) между именем параметра и значением
хочешь с именами параметров — так и используй как раньше Lat=xx&Lon=yyy
Здравствуйте, mogadanez, Вы писали:
M>Здравствуйте, cadet354, Вы писали:
C>>так дело в том, что хотелось бы Objects/Search/What/<что ищем>/Lat/<широта>/Lon/<долгота>, причем Lat и Lon очень хотелось бы
C>>можно конечно повеситься на form.submit и переколбасить урл, но думал что есть прямее путь
M>прости, а зачем? читабельность в этом случае нифига не повышается, ибо нету четкой связи ( ввиде = ) между именем параметра и значением
M>хочешь с именами параметров — так и используй как раньше Lat=xx&Lon=yyy
может на мне сказывается тяжелое наследие dnn (там так принято передавать параметры), правда сейчас посмотрел в книге MVC in Action, там тоже приводят подобные схемы:
http://example.com/sessions/129/introduction-toasp-net-mvc
... << RSDN@Home 1.2.0 alpha 4 rev. 1270>>