GET Запрос параметров маршрута - PullRequest
0 голосов
/ 10 июня 2011

Стандартный ActionLink будет производить что-то вроде mysite.com/rar/hello/1/2010-01-01/, если вы захотите использовать магию маршрута. Это хорошо для якорных тегов и использования Html.ActionLink, однако, что если я хотел бы иметь форму, использующую запрос GET, чтобы иметь тот же эффект? Итак, форма выглядит следующим образом:

@using(Html.BeginForm("MyAction", "MyController", new { id = 20, something = "2010-01-01" }))

Получение URL-адреса, например site.com/20/2010-01-01 вместо mysite.com?id=20&something=2010-01-01

Можно ли это сделать без использования JavaScript? Мои маршруты верны, потому что ActionLink s генерирует правильный URL, но с теми же параметрами запрос GET через форму генерирует ужасный URL.

Приветствия

--- РЕДАКТИРОВАТЬ ---

Я выполнил поиск в Google по этой же проблеме, и угадайте, что? Этот ответ является первым. Я даже не вспомнил, как спрашивал.

Так что я снова столкнулся с той же проблемой. Это так просто:

Я нажимаю на ссылку, и я перехожу на URL, например site.com/10/100/Param. У меня есть форма с такими же значениями маршрута, которая выглядит примерно так:

@using(Html.BeginForm("Action", "Controller", FormMethod.Get)) {
    @Html.Hidden("param1", 10)
    @Html.Hidden("param2", 110)
    @Html.Hidden("param3", "MyOtherParam")
}

Затем, когда я отправлю эту форму, я ожидаю увидеть новый маршрут как site.com/10/110/MyOtherParam.

Единственный способ, которым я могу думать об этом, - это отправить сообщение в метод действия, а затем перенаправить оттуда.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 10 июня 2011

Вы явно описали этот маршрут в global.asax?Вам потребуется запись типа

routes.MapRoute(
    "NameOfRoute", // Route name
    "{controller}/{action}/{id}/{something}", // URL with parameters
    new { controller = "My", action = "MyController" }
);

, чтобы полностью соответствовать ActionLink выше

0 голосов
/ 10 июня 2011

Извините, это не работает. Ответили здесь:

Как настроить значения маршрута эвакуации ASP.NET?

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