我有一個aspx頁面,動態加載用戶控件:有一個UpdatePanel持有這些控件(每次一個)。當我用另一個控件更換控件時,它會失敗並顯示以下消息:無法加載視圖狀態
無法加載視圖狀態。視圖狀態爲 的控件 樹必須與前一個應用程序的 期間用於保存視圖狀態的控制樹 相匹配。例如, 動態添加控件時,在返回過程中添加的 控件必須 與在初始 應用程序期間添加的控件的類型和位置匹配。
三個控件的所有繼承自System.Web.UI.UserControl
。也許我可以解決這個問題做:
- 負載在啓動時三個控件,然後隱藏他們兩個人,因爲我們需要它。
- 使用三個UpdatePanels,每個用戶控件一個。
- 有什麼建議嗎?
不,我已經做到了,它拋出了相同的異常。 – VansFannel 2010-01-25 13:42:48
嘗試在你的函數中放置一個斷點,當你回發時你會點擊它。然後使用監視窗口開始在包含您的動態創建的控件的.Controls列表中進行瀏覽。看看你的控件是否存在於該列表中。如果沒有,你將不得不將每個控件添加到它自己的更新面板。 – Daniel 2010-01-25 14:16:08
現在我爲每個控件使用一個UpdatePanel。問題已經解決,但現在我有另一個:Microsoft JScript中的運行時錯誤:Sys.InvalidOperationException:無法找到帶有ID的UpdatePanel。 'CreateDestination1_DestinationMainUpdatePanel'。如果您要動態升級,它必須位於另一個UpdatePanel中。 – VansFannel 2010-01-27 12:47:16