我在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传递给我的控制器?
答案 0 :(得分:1)
你不应该在foreach循环中使用checkbox。 在下面用于循环
中使用它@for(int i = 0; i < Model.ModelGroup.Count; i++)
{
<tr>
<td>
@Html.CheckBoxFor(m => m.ModelGroup[i].lngEmployee)
</td>
</tr>
}
Check this for details 希望这会有所帮助..