@Html.CheckBox("orderNumbers", new { value = 1 })
@Html.CheckBox("orderNumbers", new { value = 2 })
@Html.CheckBox("orderNumbers", new { value = 3 })
@Html.CheckBox("orderNumbers", new { value = 4 })
@Html.CheckBox("orderNumbers", new { value = 5 })
[HttpPost]
public ActionResult MarkAsCompleted(IEnumerable<int> orderNumbers) { }
[HttpPost]
public ActionResult MarkAsCompleted(IEnumerable<string> orderNumbers) { }
Jeśli użyję pierwszego podpisu w mojej metodzie działania, otrzymam pusty IEnumerable
.Powiąż checkboxes z int array/wyliczalnymi w MVC
Jeśli korzystam z drugiego podpisu, otrzymuję wartości, ale otrzymuję również wartość false dla niewybranych wartości (z powodu wzoru MVC shadowingu wszystkich pól wyboru z ukrytym polem).
np. Otrzymam coś w rodzaju: orderNumbers = { "1", "2", "false", "4", "false" }
Dlaczego nie mogę uzyskać listy numerów?
Rzeczywiście, oczywiście ja. Co za idiota! Błędnie założyłem, że zrobiliby coś sprytnego w segregatorze, aby zignorować fałszywe wartości, gdyby nie mogli być związani z żądanym typem. – fearofawhackplanet