Jquery 如何将JqGrid数据源(应用过滤器)传递给MVC控制器

Jquery 如何将JqGrid数据源(应用过滤器)传递给MVC控制器,jquery,asp.net-mvc,model-view-controller,jqgrid,jqgrid-asp.net,Jquery,Asp.net Mvc,Model View Controller,Jqgrid,Jqgrid Asp.net,我在jqgrid中定义了以下按钮。我已经查阅了很多关于这方面的帖子,但仍然不知道如何将数据源发送到控制器(而不是过滤器) 我需要以某种方式将数据源作为控制器中的集合 $("#btnExportCsv").click(function () { $.blockUI({ css: { border: 'none', padding: '15px', backgroundColor:

我在jqgrid中定义了以下按钮。我已经查阅了很多关于这方面的帖子,但仍然不知道如何将数据源发送到控制器(而不是过滤器)

我需要以某种方式将数据源作为控制器中的集合

$("#btnExportCsv").click(function () {
            $.blockUI({ css: {
                border: 'none',
                padding: '15px',
                backgroundColor: '#000',
                '-webkit-border-radius': '10px',
                '-moz-border-radius': '10px',
                color: '#fff'
            }, message: '<h1>Exporting to CSV</h1><p><img src="/cms/themes/cm-blue/img/busy.gif" /></p>'
            });

            generating = true;

            $.ajax({
                type: 'POST',
                dataType: 'json',
                url: exportCsvUrl,
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    $.jGrowl(XMLHttpRequest.responseText, { header: 'Error exporting csv' });
                    generating = false;
                },
                complete: function () {
                    $.unblockUI();
                },
                success: function () {
                    growl("Export completed successfully", "Export to Csv");
                }
            });

        });

我相信你应该从另一个角度考虑这个问题。 网格从某处获取数据,我可以推测它来自控制器。 如果您需要服务器端的数据,为什么不使用与填充网格相同的方法来获取它呢

我能看到这种情况不起作用的唯一方法是,如果数据是从客户端馈送到网格的,而您无法从服务器端获得完全相同的数据

无论如何,如果您真的想从drid获取数据,只需调用:

$("#mygrid").jqGrid('getGridParam','data');
这将返回json,因此不要期望得到更多。 json结构的种类和质量取决于网格的配置方式

$("#mygrid").jqGrid('getGridParam','data');