ASP.NET MVC формирует передаваемый массив GET - PullRequest
1 голос
/ 08 июня 2010

У меня есть форма с набором флажков для точной функции поиска на моем веб-сайте.

Я пытаюсь передать массив в форме GET, но URL выглядит следующим образом:

/search?filter=foo&filter=bar&filter=green

Есть ли лучший способ передать это в MVC? Возможен как

/search?filter=foo,bar,green

Заранее спасибо.

1 Ответ

2 голосов
/ 08 июня 2010

Теперь вы можете изменить этот URL. Он построен браузером.

Вы можете изменить URL-адрес с помощью javascript перед отправкой запроса, но лучше использовать шаблон получения перенаправления (PRG).

Сначала вы отправляете сообщение на контроллер и перенаправляете на URL, который вы строите в контроллере. Таким образом, вы имеете полный контроль над URL.

EDIT

это образец

public ActionResult FilterResult()
{
RouteValueDictionary searchRoute = ControllerContext.RouteData.Values;
if (searchRoute["Filter"]==null)
{
    searchRoute.Add("Filter","");
}
searchRoute["Filter"] = "filter1,filter2,filter3";

return RedirectToAction("Search", searchRoute);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...