目前我通過重新查詢數據庫來填充網格來恢復狀態,但頁面加載速度太慢。相反,我想將視圖狀態保存在會話變量中,並在用戶重新訪問該頁面時將其恢復。這是如何完成的?我應該使用SessionPageStatePersister嗎?這不是一個回傳情況,甚至不是一個跨頁面回發。會話頁面viewstate如何在非回發,非跨頁面回發場景中保存和恢復?
背景:我已將VS 2010 ASP.Net Web應用程序模板與主頁和多個選項卡式內容頁一起使用。導航到新選項卡時,狀態會丟失。我的客戶選項卡允許用戶從AspxGridView中篩選和選擇一個客戶。所選客戶ID存儲在會話變量中,用於在其他選項卡上顯示相關客戶數據:聯繫人,發票,任務等。我可以使用SaveClientLayout保存和恢復客戶網格過濾器,排序和佈局。但我不知道如何在不重新查詢數據庫的情況下恢復網格數據。
我發現this tutorial並且在標題爲SessionPageStatePersister的章節中實現了代碼。我已經複製了代碼並創建了SessionPageStateAdapter和.browser文件。我很困惑如何訪問這個會話視圖狀態數據。我需要幫助如何保存視圖狀態並在用戶訪問多個其他頁面後進行恢復?
你的負載有多慢?有沒有更好的解決方案來加快/分頁客戶網格查詢?你有多少條記錄正在返回? – Paddy
不幸的是,數據存在於通過Connx ODBC驅動程序訪問的Vax平面文件中。我會研究優化,但Vax和Connx是我不太熟悉的領域。優化可能不像SQL Server那樣簡單,我可以根據需要添加索引。 – DeveloperDan