2015-11-02 20 views
-1

我有一些複選框,我想在idList中檢索標識符對應的複選框列表。從選中的複選框中檢索標識號

這是我的代碼:

@foreach (var inv in Model.Invoices) 
{ 
    <tr> 
     <td>@Html.CheckBox("Selected", true, new { @class = "SelectInvoice", data_id = inv.ID, id = "Selected-" + inv.ID })</td> 

現在我得到的所有的ID從模型:

@using (Html.BeginForm("SendUnpaid", "Invoice")) 
     { 
      @Html.Hidden("idList", string.Join(",", Model.Invoices.Select(row => row.ID))) 

我怎麼能這樣做?謝謝!

回答

1

這就是我更喜歡這樣做的方式。 IMO更清潔,更易於維護。

假設您有模型中的發票清單。

型號

public class YourModel 
{ 
public string Property {get; set;} 
public IList<Invoice> Invoices {get; set;} 
} 

創建自定義類發票

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操作方法並將其傳遞給視圖。