在onSortCol或onPAging时,JQGrid不会命中数据库服务器

时间:2011-08-31 13:54:21

标签: javascript jquery jqgrid

我有一个网格,每当网格进入服务器时显示500行中的50行,它运行方法public ActionResult CreateGrid(string sidx, string sord, string page, string rows, bool gridEvent....此方法总是得到50000个roes,然后只显示与当前页面对应的50个记录。 我添加了一个静态列表,其中我维护了50000条记录,并且我在UI上添加了一个gridEvent var,以指示它是来自onSortCol或onPAging的gridEvent还是仅仅是来自提交按钮的回发。

网格上的代码,用于在onPaging或onSortCol上使用TRUE值修改输入gridEvent

 onPaging: function (pgButton) {
                $("#gridEvent").val("true");
            },
            onSortCol: function (index, iCol, sortorder) {
                $("#gridEvent").val("true");
            },

在按下提交按钮时使用FALSE值修改输入gridEvent的代码。

 function SubmitForm() {
    $("#getReport").validate()
    if($("#getReport").valid()) {
        $("#gridEvent").val("false");
        $("#getReport").submit()
    }
}

一切似乎都是正确的但是当我在Server方法上查看bool gridEvent时,它总是错误的。如果我没有在函数SubmitForm()上更改gridEvent输入类型值,则服务器上的值始终为true。 当我执行网格事件或提交表单时,如何获取正确的值?

1 个答案:

答案 0 :(得分:0)

您在问题中包含了以下服务器操作声明

public ActionResult CreateGrid(string sidx, string sord, string page, string rows,
                               bool gridEvent....

因此您以某种方式发布值gridEvent,但不包含相应的代码。所以我只能猜测。

如果您仅使用

postData: {
    gridEvent: $("#gridEvent").val()
}

这可能是您的问题,因为$("#gridEvent").val()将在网格初始化(创建)时执行一次。正确的用法可能是

postData: {
    gridEvent: function() { return $("#gridEvent").val(); }
}

有关详细信息,请参阅here