Tôi có một ứng dụng MVC trong đó tôi đang sử dụng một mô hình như thế này:Làm thế nào để vượt qua danh sách IEnumerable để điều khiển trong MVC bao gồm nhà nước hộp kiểm?
public class BlockedIPViewModel
{
public string IP { get; set; }
public int ID { get; set; }
public bool Checked { get; set; }
}
Bây giờ tôi có một Xem để ràng buộc một danh sách như thế này:
@model IEnumerable<OnlineLotto.Web.Models.BlockedIPViewModel>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
}
@foreach (var item in Model) {
<tr>
<td>
@Html.HiddenFor(x => item.IP)
@Html.CheckBoxFor(x => item.Checked)
</td>
<td>
@Html.DisplayFor(modelItem => item.IP)
</td>
</tr>
}
<div>
<input type="submit" value="Unblock IPs" />
</div>
Bây giờ tôi có một bộ điều khiển để nhận hành động từ nút gửi:
public ActionResult BlockedIPList(IEnumerable<BlockedIPViewModel> lstBlockedIPs)
{
}
Nhưng tôi nhận được giá trị null cho lstBlockedIP khi đến hành động điều khiển.I cần nhận trạng thái hộp kiểm tại đây. Hãy giúp tôi.
Ngoài ra, các trường ẩn và hộp kiểm trong mã nguồn ban đầu không nằm trong khối 'using' của biểu mẫu. Điều đó có thể là vấn đề. – Chris
Vâng, đúng vậy. Trong câu trả lời của tôi, tôi di chuyển chúng bên trong biểu mẫu để làm rõ điều này. –
Điều đó hoạt động tốt .. Cảm ơn nhiều. –