【问题标题】:What is the controller parameter for getRowData when using Multiselect in jqGrid ASP.NET MVC在 jqGrid ASP.NET MVC 中使用 Multiselect 时 getRowData 的控制器参数是什么
【发布时间】:2012-07-26 18:22:42
【问题描述】:

我正在使用多选功能选择行并将数据传递给控制器​​,使用 getRowData 传递整行而不是传递单个单元格值。当用户选择单行的复选框时,我会触发 onSelectRow 事件。我能够使用 getRowData 检索行数据并将其传递给接受字符串但数据为空的控制器。下面是我的 onSelectRow 事件。

onSelectRow: function (row_id) {

var rowData = $("#employee").getRowData(row_id);
$.ajax({
     type: 'POST',
     url: '/Home/Create/',
     data: { gridData: rowData },
     dataType: "json"
});

这是我接受字符串参数的控制器操作。

public ActionResult Create(string gridData) {}

我已阅读其他帖子并尝试在发送到控制器之前使用 Json.stringify,但我很难将其转换为我需要的格式,因此获取行数据对我来说操作起来会更加灵活。

我的控制器操作应该接受什么参数以适当地检索 gridData?

非常感谢任何建议!

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 jqgrid jqgrid-asp.net


    【解决方案1】:

    好的,我遇到了你的问题,首先不要像这样传递 row_id

    var sel_id = jQuery("#grid").jqGrid('getGridParam', 'selrow');
    

    这将为您提供所选行的 id,然后您可以获得这样的数据

    var val =  jQuery("#grid").jqGrid('getRowData', sel_id);
    

    然后当您发送数据时,您需要对其进行字符串化...让我向您展示一个示例,其中我选择所有行并将数据发送到控制器...看看我的答案

    OnClickButton function parameter for MultiSelect jqgrid MVC3

    【讨论】:

    • @LeftyX:您好,我尝试使用此方法将一个参数传递给 dataInit-method,但在触发 dataInit 时,所选行似乎是未知的:'dataInit'=> "function (elem) {var sel_id =jQuery('#grid').jqGrid('getGridParam','selrow');alert(sel_id);}" 警报为空。这对我来说不符合逻辑,因为我选择了行,然后我为给定的行加载表单编辑,为什么我没有 selrow?我寻求机会在选择列表中使用参数进行数据初始化:'dataUrl'=>'/script/?id='+jQuery("#grid").jqGrid('getRowData', sel_id);我怎样才能做到这一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    相关资源
    最近更新 更多