2016-10-28 69 views
0

我在foreach語句下有一個網格。這個foreach語句有一個HTML輸入複選框列。在網格視圖中獲取選中的複選框查看控制器

我的問題是,我能夠正確填充我的行和網格。所有的輸入字段都可以,即使複選框屬性沒問題,但我無法將所有「已選中」複選框作爲模型傳遞到控制器中。

這裏是我的HTML /視圖代碼:

<input type="checkbox" class="chkEmployee" name="lngEmployeeID" value="="@Model.lngEmployeeID"></input> 

這是我的jQuery代碼:

function fncBulkApprove() { 

     $('#btnEdit').unbind(); 
     $('#btnEdit').on('click', function(e) { 
      e.preventDefault(); 
      var objData = $('form').serialize(); 
      $.ajax({ 
       url: '@Url.Action("fncBulkEdit", Model)', 
       type: 'POST', 
       datatype: 'application/JSON', 
       data: objData, 
       beforeSend: function() { 
       }, 
       complete: function (request, status) { 
       }, 
       success: function (result) { 
        $('#divEdit').dialog('open'); 
       }, 
       error: function (request, status, error) { 
       } 
      });     
      });     
    } 

在我的控制,我通過我的模型,參數:

[HttpPost] 
    public PartialViewResult fncBulkEdit(entEmployee objModel) 
    { 
     return PartialView("_Edit"); 
    } 

該型號上的ID列表被聲明在:

public virtual IList<long> lngEmployeeID { get; set; } 

我如何能夠將所有選中的複選框作爲IList ID傳遞給我的控制器?

回答

1

你不應該在foreach循環中使用複選框。 使用此for循環一樣希望以下

@for(int i = 0; i < Model.ModelGroup.Count; i++) 
{ 
    <tr> 
    <td> 
     @Html.CheckBoxFor(m => m.ModelGroup[i].lngEmployee) 
    </td> 
    </tr> 
} 

Check this for details 這有助於..

+0

您的代碼工作得很好。通過將網格放在BeginForm方法下,我也能夠通過所有選中的值。 –

相關問題