複合服務器控件我有一個ASP.NET web窗體複合控件,讓我們把它控制A,其中包含一個子複合控件,我稱之爲控制B.兒童控制B的控件取決於控件A的屬性。如何更改子控件在回發
在初始加載時,我在控件A的OnLoad中設置此參數,並且一切正常,控件B在CreateChildControls中正確設置其子控件。
但是,當我想通過控件A的下拉列表中的SelectedIndexChanged更改此參數時,事件處理程序似乎在控件B的生命週期中處理得太晚,無法獲取更改後的值。據推測這是因爲控件B的CreateChildControls方法已經被調用。
我怎樣才能得到控制B到更新其子控件以這樣的方式,他們可以再通過他們正常的生命週期內,根據需要加載視圖狀態?
只是爲了清楚起見,當控件A的參數發生變化時,控件B的子控件可能需要保留一些控件,有些需要刪除,有些需要添加,因此對於剩下的控件他們仍然需要加載狀態。
關於您的第一個建議:由於值的更改發生在事件處理程序中,因此在調用CreateChildControls之後,控件b已經使用舊設置創建。你如何看待這個工作? – 2009-12-07 09:09:28