2010-04-08 75 views
0

有趣的事情發生在我身上... 我有一個數據行的網格,但頁面將失敗有幾個回發。我用提琴手檢查它,發現每次回帖後視圖狀態會擴展2-3次。視圖狀態在回發後變大

我做了觸發郵件的事情是搜索和排序。我不知道它是如何發生的。有人可以給我一個提示嗎?

謝謝!

+1

你真的需要viewstate嗎? – ZippyV 2010-04-08 20:08:20

+0

您可能需要發佈代碼。 Viewstate不會自行增長;發生了一些事情。沒有看到代碼,就很難提供幫助。 – 2010-04-08 20:14:44

回答

0

好的,我解決了這個問題。 我認爲ViewState就像是一個保存關鍵值對列表的字典。 在我的情況下,我的價值是對象,這是一個地址或引用。所以當我從ViewState中獲得一個對象時,不小心將新的子對象分配給該對象。所有新的孩子將自動放入ViewState。不幸的是,在我的代碼中,真的有一個不小心的循環,讓ViewState的孩子們在內存中創建副本並將其添加回來!代碼不能區分重複的孩子,因爲他們在不同的地址.... 因此,最後頁面得到2倍大在每個職位回來和轟隆!!!!!!!

謝謝你們都一樣!

0

我認爲,首先要找到至極控制是使視圖狀態成長(也許您有任何下拉列表框中,你忘了清除,並在每個回來後,你添加更多項)

要做到這一點,一個接一個地放在你的控件上viewstate = false。

你找到了造成問題的控件,只要檢查你是否忘記清除它,然後你只是向它添加數據。