jqGrid:将选定的ID作为HTML表单参数传递

时间:2011-10-20 12:51:29

标签: asp.net-mvc jqgrid razor html-form

我有一个带有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形式隐藏价值。

1 个答案:

答案 0 :(得分:2)

如果我理解你是正确的,你可以例如用ids.join(',')创建所选行的逗号分隔id的字符串。然后,您可以使用jQuery.val(newValue)为隐藏字段设置新线索:$("#hiddenFieldId").val(ids.join(','));