@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) { }
Nếu tôi sử dụng chữ ký đầu tiên trong phương thức hành động của mình, tôi nhận được một số trống IEnumerable
.Ràng buộc hộp kiểm vào int/enumerable trong MVC
Nếu tôi sử dụng chữ ký thứ hai, tôi nhận giá trị nhưng tôi cũng nhận được giá trị sai cho các giá trị không được chọn (vì mẫu MVCs che khuất tất cả hộp kiểm với trường ẩn).
ví dụ: Tôi sẽ nhận được một số thông tin như orderNumbers = { "1", "2", "false", "4", "false" }
Tại sao tôi không thể lấy danh sách các số?
Thật vậy, dĩ nhiên là tôi làm. Thật là một thằng ngốc! Tôi đã giả định sai rằng họ sẽ làm một cái gì đó thông minh trong bộ mô hình để bỏ qua các giá trị sai nếu chúng không thể bị ràng buộc với kiểu được yêu cầu. – fearofawhackplanet