从另一个页面调用数据绑定时,不会在infragistics iggrid中检索数据

时间:2013-09-04 06:22:34

标签: asp.net-mvc-4 infragistics ignite-ui iggrid

以下是我正在构建ASP.NET MVC Web应用程序的方案

我的网页为page.aspx,其中包含一个infragistics 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未调用。

Plz帮助我错误或更好的方式。提前致谢

1 个答案:

答案 0 :(得分:3)

看起来您的子页面缺少pageIndexUrlKey的设置。默认情况下,DataSource将使用" page"但由于您的Controller接受名为" curpage"相反,只要您实现分页并调用该控制器,就必须确保设置密钥。