2009-11-26 81 views
1

我使用框架2.0,我不明白數據網格和數據集如何工作後做回發。 msdn說,如果請求是回發,則不需要再次執行數據綁定。但我的問題是:數據網格如何再次顯示記錄是否沒有數據綁定?我認爲,asp.net保存在緩存中的查詢結果,但我不知道。請告訴我什麼是.NET用來完成它的機制。ASP.NET數據集和內存

我有一個大的查詢結果(數百),分頁每50個記錄,我想避免每次用戶選擇下一個50條記錄時做相同的查詢。

在此先感謝。

回答

2

ASP.NET將以前的值保存到ViewState中,因此它們在回發之間不會丟失。

但在你的情況下,你正在談論分頁,新的記錄。如果您是在第一次請求時檢索它們,也許可以將它們存儲在視圖狀態中,但這不是一個好主意。如果你有很多記錄,你的頁面將會很慢。

如果您的客戶端每次都獲取相同的數據,並且當前的數據更改在顯示數據時不重要,也許可以使用asp.net's caching mechanism進行緩存。

3

這個問題的答案是視圖狀態。整個顯示的網格存儲在視圖狀態,這是持續回發。

這就是網格在初始頁面加載時定義並存儲在viewstate中。當用戶點擊鏈接/按鈕回發表單時,視圖狀態將被解碼並可以再次使用。因此,您不需要重新綁定網格。但是,有一些注意事項需要注意。

1

ASP.NET WebForms全是關於ViewState

這個概念基本上就是ASP.NET將信息存儲在頁面上的一個隱藏的輸入元素中,然後使用回傳自動檢索服務器端,回發將表單(包裹整個網站)發回服務器。