ASP.NET動態加載控件的"追趕論"

  當初我實現這個的時候也是相當郁悶,老是丟失值,于是我就用Visable來解決(是加載WebControl)。以下是其他人的解決方案,蠻有參考價值的。
  引用 隨心所欲
http://www.cnblogs.com/dlwang2002/archive/2006/12/07/585093.html
  結論就是:
  1:在特定的時刻加入該控件的定義。至少在Page_Load以前,我用的Page_Init。晚了就執行不了了
  2:該控件的id必須一致。因爲狀態的恢複是根據控件id來完成的。
  3:Rebuild的時候一定不要調用子控件的初始化的函數,這樣會浪費時間。
  問題:可不可以通過設置UserControl的IsPostBack屬性來達到一種和Page類似的處理方式呢?這樣在UserControl裏面就可以使用if(!IsPostBack)來做一些數據初始化了。
  引用 Cat Chen
  我有寫過《深入理解ASP.NET動態控件》的系列文章,你可以去看看有沒有值得參考的內容:
http://www.cnblogs.com/cathsfz/archive/2006/10/31/545521.html
http://www.cnblogs.com/cathsfz/archive/2006/11/05/550985.html
http://www.cnblogs.com/cathsfz/archive/2006/11/19/564929.html
  關于追趕加載也詳細解釋了,並非0~n步都會在追趕加載中執行,只有特定的步驟會執行。如果控件已經加載完第k步,添加到另一個加載完第n步的控件中,則僅執行(k+1)~n步,前面的不會重複執行。
  至于UserControl的加載很費時,這是你無法繞過去的。如果你的意思是,頁面默認加載UserControlA,發生事件後要丟棄UserControlA改爲加載UserControlB,浪費了時間在加載UserControlA上。以現在的ASP.NET頁面生存周期模型,我們無法解決這個問題,你改進後的解決方案也還是要先加載默認的UserControlA。