2016-10-28 72 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方法下,我也能够通过所有选中的值。 –

相关问题