Я пытаюсь сохранить значения флажков в форме с тем же именем (уровень и курсовый тип) в querystring, чтобы я мог проверить, какие из них были выбраны. В первом представить, я получаю:Лучший способ обработки флажков в MVC
Search?coursetype=1416&coursetype=post16&level=3&level=6&level=1
это хорошо, так что я могу проверить значения обратно в поле зрения и отметьте те, которые ранее были выбраны.
Однако, когда я использую pagedList или Html.ActionLink, например:
Html.ActionLink("search again", "Search", new { coursetype = ViewData["coursetype"], level = ViewData["level"]})
я получаю: Search?&coursetype=System.String%5B%5D&level=System.String%5B%5D
Я попытался разбором этих значений из массива, но потом, когда я посылаю их htmlAttributes в ActionLink я получаю: Search?coursetype%3D1416&coursetype%3Dpost16&level%3D3&level%3D6&level%3D1
, поэтому представление не может найти значения этого флажка.
Контроллер:
[AcceptVerbs("GET")]
public ActionResult Search(string[] coursetype, string[] level)
{
ViewData["level"] = level;
ViewData["coursetype"] = coursetype;
return View();
}
Как устанавливается исходная ViewData? –
заселен из коллекции флажков в форме –