我有一個使用jquery ajax調用webmethod的數據填充jqgrid的Web應用程序。 jqgrid每5秒刷新一次以輪詢數據。我想要做的是獲取每5秒添加到表中的新數據。jqgrid +使用新數據刷新網格
所以我想我會修改我的webmethod從最後一次讀取的ID開始獲取20批次的數據。我認爲是在webmethod我會做一個計數器,firstRecordID,lastRecordIDRead變量,如果計數器= 0我會得到第一個記錄ID並將其存儲在firstRecordID,如果計數器大於0 firstRecordID將是lastRecordIDRead(firstRecordID + 20)。因此,如果數據庫中的第一個ID是906,那麼在第一次輪詢時它將從906到925得到記錄,然後在第二次輪詢中它將從926 + 20個其他記錄中獲得並繼續如此。
當在控制檯應用程序中使用此方法作爲示例時,它工作正常,但是我無法理解如何在使用webservice時執行此操作,因爲webservice是無狀態的,我不知道如何實現計數器變量等任何想法請嗎?或者,也許是一個更好的解決方案?
非常感謝。
所以爲了得到KeyValue的價值,我會像拉曼建議的那樣做?將webmethod中的值存儲到成功的隱藏字段中,然後使用postData像下面這樣傳遞它:postData:{KeyName':function(){ return $(「txtRecordID」)。val(); } }, – krafo 2013-03-13 14:38:53
不需要使用隱藏字段,它可以很容易地存儲在jqGrid中。如果你想檢索它,你可以通過'$('#gridName').jqGrid('getGridParam','postData。KeyName')' – Mark 2013-03-13 14:45:27
我可以問你爲什麼要檢索它嗎?當您調用網格刷新時,您可以在該點增加值。例如$('#gridName')。jqGrid('setGridParam',{postData:{KeyName:KeyValue + intValue}})。trigger('reloadGrid');' – Mark 2013-03-13 14:46:53