我有一个网格,每当网格进入服务器时显示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。 当我执行网格事件或提交表单时,如何获取正确的值?
答案 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。