【问题标题】:How to pass JqGrid data source (with applied filters) to MVC controller如何将 JqGrid 数据源(带有应用的过滤器)传递给 MVC 控制器
【发布时间】:2012-01-27 20:49:24
【问题描述】:

我在 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");
                }
            });

        });

jQGrid 参数:

$("#myGrid").jqGrid({
        colNames: [
    .
    .
    .  
        ],
        colModel: [...]
    mtype: 'POST',
        datatype: 'json',
        pager: '#crPager',
        page: defaultGridParams.Page,
        sortname: defaultGridParams.SortName,
        sortorder: defaultGridParams.SortOrder,
        rowNum: 10,
        rowList: [10, 20, 50, 100],
        url: Controllers/control,
        height: 'auto',
        loadui: 'block',
        width: 1200,
        caption: sGridCaption,
        hidegrid: false,
        viewrecords: true,
        ShrinkToFit: false,

【问题讨论】:

    标签: jquery asp.net-mvc model-view-controller jqgrid jqgrid-asp.net


    【解决方案1】:

    我认为您应该考虑换一种方式看待问题。 网格从某个地方得到它的数据,我可以猜出它来自控制器。 如果您需要该数据服务器端,为什么不使用与填充网格相同的方法来获取它?

    我认为这不起作用的唯一方法是,如果数据是从客户端馈送到网格的,而您无法在服务器端获取完全相同的数据。

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

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

    这会返回 json,所以不要期待更多。 该 json 结构的种类和质量取决于您配置网格的方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2017-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-30
      相关资源
      最近更新 更多