我有一些复选框,我想在idList中检索与所选复选框相对应的id列表。
这是我的代码:
@foreach (var inv in Model.Invoices)
{
<tr>
<td>@Html.CheckBox("Selected", true, new { @class = "SelectInvoice", data_id = inv.ID, id = "Selected-" + inv.ID })</td>
现在我从模特中获得了所有内容:
@using (Html.BeginForm("SendUnpaid", "Invoice"))
{
@Html.Hidden("idList", string.Join(",", Model.Invoices.Select(row => row.ID)))
我该怎么做?谢谢!
答案 0 :(得分:1)
这就是我更喜欢这样做的方式。 IMO更清洁,更易于维护。
假设您的模型中有发票清单。
<强>模型强>
public class YourModel
{
public string Property {get; set;}
public IList<Invoice> Invoices {get; set;}
}
为Invoice创建自定义类
public class Invoice
{
public string Name{ get; set; }
public bool IsChecked { get; set; }
public int Id { get; set; }
}
查看强>
@for (var i = 0; i < Model.Invoices.Count; i++)
{ <tr>
<td>
@Html.CheckBoxFor(m => m.Invoices[i].IsChecked, new { @id = Model.Invoices[i].Id}) <span>@Model.Invoices[i].Name</span>
</td>
</tr>
}
控制器
获取您的ID列表,或使用选中的项目执行您喜欢的任何操作。
foreach (Invoice invoiceObj in model.Invoices)
{
if (invoiceObj .IsChecked)
{
}
}
要检查加载项目,您需要在GET操作方法上填写发票清单并将其传递给视图。