Asp.net mvc 检索id';从所选复选框中删除

Asp.net mvc 检索id';从所选复选框中删除,asp.net-mvc,checkbox,Asp.net Mvc,Checkbox,我有一些复选框,我想在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> 我该怎么做?谢谢大家!

我有一些复选框,我想在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>

我该怎么做?谢谢大家!

我更愿意这样做。IMO更清洁,更易于维护

假设您的模型中有一个发票列表

型号

public class YourModel
{
public string Property {get; set;}
public IList<Invoice> Invoices {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> 
    }
要检查加载的项目,您需要在GET操作方法上填写发票列表并将其传递给视图

  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> 
    }
 foreach (Invoice invoiceObj in model.Invoices)
           {
              if (invoiceObj .IsChecked)
              {
              }
           }