2014-04-03 46 views
0

我在更新面板中有一個gridview控件(除其他外)。通過Ajax請求異步加載gridview行上的部分數據。當gridview中的按鈕被點擊時,gridview的RowCommand會在服務器端處理一些代碼。當頁面回傳時,通過Ajax加載的數據會丟失。在部分回發後存儲Ajax返回的結果w UpdatePanel

我已經添加了代碼,以便在每次從更新面板回發後通過Ajax請求數據。然而,這需要時間,我想以某種方式存儲或緩存數據,以便它不需要在每次部分回發後請求數據。

Ajax請求返回的結果返回一些HTML格式的文本。這通過JQuery添加到表格行。

是否有某種方法可以在客戶端緩存此信息,以便在每次部分回發後不需要次要Ajax請求?我試圖將數據存儲在隱藏字段中,但是當隱藏字段的值包含html標記時,它打破了updatepanel。

+0

如果您使用Ajax異步獲取數據,爲什麼使用UpdatePanel?去直接的JavaScript。 – TheGeekYouNeed

+0

只有部分數據(對於幾列)是異步加載的。數據和代碼功能的其餘部分是服務器端。 – user2859240

回答

0

聽起來好像GridView在UpdatePanel回發中從ViewState中加載,這就是爲什麼你會失去Ajax更改。如果您的Ajax調用正在更改基礎數據,您可以在UpdatePanel發佈後重新加載來自底層源的數據嗎?

如果不是,我同意TheGeek。我懷疑用一致的平臺可以獲得更好的結果 - 無論是直接使用JavaScript還是使用UpdatePanel。