0
考慮我有2個控件,C
和CompositeC
其中包含C
。有C
和CompositeC
都有ViewState。如何在子控件重新創建後強制執行ViewState恢復?
現在考慮第三個控件導致回發。
產生的生命週期會如下:
CompositeC
試圖恢復狀態。爲此,需要創建子控件,因此它創建了C
。- 當
C
被創建時,它的ViewState被恢復。 - 第三個控件的回發事件被觸發。此時處理程序調用
CompositeC.RecreatedChildControls()
並再次創建C
。 - 一切呈現。
的問題是,C
狀態不是在步驟3 RecreateChildControls
方法再次恢復應該修改控件的狀態,因此當C
重新引入CompositeC
控件的集合它的ViewState會自動恢復,但事實並非如此。
我該怎麼辦?