2009-07-09 40 views
1

我正在使用一個Gridview來保存記錄,用戶可以點擊每個記錄中的複選框來指示他/她想要保存該記錄(編輯數據之後),並且用戶可以選擇儘可能多的記錄記錄他們想要的並一次性保存。ASP.net GridView的ViewStates

在後面的代碼中,我將循環訪問gridview並查找複選框以保存記錄。如果我禁用Gridview的視圖狀態。我無法循環它,但如果我啓用了gridview的viewstate,那麼gridview視圖狀態可以高達1mb甚至更高。

什麼是最好的方式來減少視圖狀態這個girdview控制或是我的方法是錯誤的?

+1

你能後的你如何使用你的GridView的例子,也許如何你對它有約束力Ø? – RichardOD 2009-07-09 07:46:10

回答

1

如果你不能縮小viewstate的大小,你可以嘗試一個備用解決方案。您可以將您的viewstate存儲在服務器上。本博客文章介紹如何實現這一點:

Reducing the page size by storing ViewState on Server

我實現了一個網頁,有一個巨大的視圖狀態上與此類似,它的工作太棒了。我會嘗試優化視圖狀態,然後再轉移到類似的位置,因爲它會產生一些開銷。

我覺得我用這篇文章(它已經有一段時間),並不得不修改它的SQL,因爲這使用文件系統: Persisting View State to the File System

0

我與亞歷克斯同意。您也可以使用臨時表來保存數據。我在一個項目中使用了這個場景,它工作正常。你也可以使用緩存,但是這又會增加Web服務器的負載(除非你有某種分佈式緩存)。