1

这是我正在构建 ASP.NET MVC Web 应用程序的场景

我有一个网页,page.aspx其中包含一个基础设施 iggrid。它被初始化为

$.ig.loader(function () {

            $("#listingGrid").igGrid({

                primaryKey:"Code",
                autoGenerateColumns: false,
                responseDataKey: "Data.d",
                columns: _data,
                features: [
                {
                  name: "GroupBy",

                },
                {
                    name: 'Paging', pageSize: 10, type: "remote",
                    recordCountKey: "Data.TotalRowCount",
                    pageSizeUrlKey: "pagesize",
                    pageIndexUrlKey: "curpage"
                },
                {
                    name: "Sorting",
                    type: "local"
                },

                {
                    name: "Summaries",
                    type: "local"

                }               
                ]

            });

        });

我在这个网格中点击这样的按钮获取数据

$("#showRecords").click(function () {

        var url = "/Main/Grid?tbname=" + parameter;

        var jsonp = new $.ig.JSONPDataSource({
            dataSource: url, paging: {
                enabled: true, pageSize: 10,
                type: "remote"
            }
        });

        $("#listingGrid").igGrid("dataSourceObject", jsonp).igGrid("dataBind");

    });

这工作正常,因为它应该工作

但是我有另一个页面,它是 page.aspx 的子页面作为 search.aspx

我试图以同样的方式绑定数据

$("#ok").click(function () {
 var url = "/Main/Grid?tbname=" + parameter + "&_query=" + query;

   var jsonp = new $.ig.JSONPDataSource({
       dataSource: url, paging: {
       enabled: true, pageSize: 10,
       type: "remote"
        }
   });

 window.parent.$("#listingGrid").igGrid("dataSourceObject", jsonp).igGrid("dataBind");

});

但是 url 调用不会转到控制器端

这是我的控制器

public ActionResult Grid(string tbname, string _query, int pagesize, int curpage)
    {

     res = MvcApplication.dbm.SqlQuery(_query).ToList();

      var jsonDataObj = Json(new
      {
            responseDataKey = "d",
            CurrentRecords=skip+top,
            _skip=skip,
            _top=top,
            TotalRowCount=_totalrowcount,
            d = res
        });

        return Json(res);

 }

因为page.aspx调用将发送给控制器进行数据绑定,但search.aspx它不调用。

请帮助我在哪里错或更好的方法。提前致谢

4

1 回答 1

3

您的子页面似乎缺少 pageIndexUrlKey 的设置。默认情况下,DataSource 将使用“page”键,但由于您的 Controller 接受名为“curpage”的属性,因此您必须确保在实现分页和调用该 Controller 时设置该键。

于 2013-09-11T21:10:07.817 回答