我有一個相當複雜的頁面,它動態構建了一箇中繼器內的用戶控件。在初始化ViewState
之前,必須在初始頁事件期間綁定此中繼器,否則動態創建的用戶控件將不會保留其狀態。當您無法使用ViewState時,您會做什麼?
這就產生了一個有趣的捕捉-22,因爲我結合中繼器需要的對象上初始頁面加載被創建,然後在持續存儲器中,直到用戶選擇離開或保存。
因爲我不能用ViewState
來存儲這些對象,但有它初始化過程中可用,我已經被迫將其存儲在會話。
這也有問題,因爲我必須明確地空以模擬如何ViewState
工作在非回發會話值。
在這種情況下,必須有更好的狀態管理方法。有任何想法嗎?
編輯:關於使用LoadViewState
的一些很好的建議,但我仍然有狀態不恢復時,我這樣做。
這裏是有些如果頁面結構
頁 - >用戶控件 - >中繼器 - >用戶控件的氮量動態地創建。
我把覆蓋的LoadViewState
放在父UserControl
中,因爲它被設計成完全封裝並且獨立於它所在的頁面。我想知道這是否是問題所在。
您使用的是數據綁定嗎?我從來沒有在asp.net中使用它,它可能會改變遊戲領域。但是,LoadViewState是應該用於在回退時間恢復動態控件的事件。 PageLoad在生命週期中肯定太晚了。 – DancesWithBamboo 2008-09-09 15:06:26