我有一个带有jqGrid的HTML表单(Razor)来选择实体(例如,请假设客户)。 客户jqGrid看起来像:
jQuery("#ajaxGrid").jqGrid({
url: '@Url.Action("CustomersData")',
datatype: 'json',
mtype: 'GET',
jsonReader: { repeatitems: false, id: "Id" },
colNames: ['Id', 'Name'],
colModel: [
{ name: 'Id', editable: true, sortable: false, hidden: false },
{ name: 'Name', editable: true, sortable: false, hidden: false }
],
multiselect: true,
viewrecords: true,
rowNum: 5,
width: '850',
height: '15em'
});
因此,网格允许多种选择。
问题是:如何在提交时将所选客户ID(作为IEnumerable)传递给控制器(到适当的提交操作)?
我想可以通过将所有选定的ID设置为表单参数来完成。我不知道如何从数组中复制数据:
var ids = jQuery("#ajaxGrid").getGridParam('selarrrow');
以HTML形式隐藏价值。
答案 0 :(得分:2)
如果我理解你是正确的,你可以例如用ids.join(',')
创建所选行的逗号分隔id的字符串。然后,您可以使用jQuery.val(newValue)
为隐藏字段设置新线索:$("#hiddenFieldId").val(ids.join(','));
。