我有一個AJAX控件工具包中的Accordion窗格的自定義Web部件,用作渲染站點地圖層次結構的子項。每個窗格包括一個帶有文本輸入的div和用於編輯站點地圖數據的3個LinkButton:「添加子項」,「更新」和「刪除」。更新動態控件
當前,所有這些控件都是在重寫的CreateChildControls方法中創建的。
當點擊「添加孩子」LinkButton時,會觸發事件處理程序,並將新節點添加到站點地圖中。回發完成時,控件應該使用層次結構中新的空節點重新呈現,但不會。在發出新的GET請求後,將顯示新節點。在閱讀了一段時間之後,我想我的問題是我在創建子控件的過程中太早了,因爲在觸發Control事件之前調用了CreateChildControls,所以我將該位移至了OnPreRender方法。但是現在Control事件不會觸發,因爲我在頁面生命週期中將它們掛起太晚(請參見:Custom Control Events Not Firing)。
我的問題是:我如何確保自定義控件呈現其子控件事件處理程序的結果?
順便說一下,我在Web部件而不是自定義服務器控件(例如,生命週期不同)中執行此操作嗎?