2012-02-10 60 views
0

我已經在Gridview中實現了分頁,爲了避免與數據庫頻繁重新連接,我使用Session來存儲數據。因此,可以在更改Gridview的頁面索引時從會話中檢索數據。 但我的問題是,當我應該清除這個會話,因爲它只能用於這個非常page.And如果我使用ViewState,那麼它會不會很好,如果數據量增加。如何清除Gridview分頁中使用的會話

期待着你的寶貴意見.....
預先感謝
Supriya

+0

更好的方法是檢索每個頁面的行。但它需要爲每個頁面點擊獲取數據。如果數據很大,加載所有數據並保持會話將導致性能問題並可能導致內存不足異常。 – 2012-02-10 09:32:09

+0

您最好使用緩存而不是session/viewstate ...以便我們可以保留一些過期時間,以便自動完成..如果它對所有用戶都是通用的... – Madhu 2012-02-10 09:32:46

回答

0

你不應該被任何數據保存到會話。如果數據控件需要每頁數據,那麼從每頁更改的數據庫中只選擇需要的行是很好的。

所以,如果你有每頁100行和10行,那麼你應該檢索每個PageChange數據控件的10行。這是完全可以接受的,特別是與緩存結合時。

Ifyou使用的是SQL 2005年看到這個帖子: http://weblogs.asp.net/scottgu/archive/2006/01/07/434787.aspx

0

我不認爲你應該擔心數據庫的連接。連接池將採取這種情況。只要您獲得分頁記錄,就必須打開連接並關閉。

如果您將您的記錄存儲在viewstate/cache中,這將不必要地使用資源並可能與數據庫不同步。我認爲這是一種糟糕的做法。

每次更改頁面並從db中檢索記錄時,您都應該撥打電話。

希望它有幫助。