我有一个 ASP.NET Web 表单复合控件,我们称它为控件 A,其中包含一个子复合控件,我将其称为控件 B。控件 B 的子控件依赖于控件 A 的属性。
在初始加载时,我在控件 A 的 OnLoad 中设置此参数,并且控件 B 在 CreateChildControls 中正确设置其子控件时一切正常。
但是,当我想通过控件 A 的下拉列表中的 SelectedIndexChanged 更改此参数时,事件处理程序似乎在生命周期中处理得太晚,控件 B 无法获取更改的值。想必这是因为控件 B 的 CreateChildControls 方法已经被调用了。
如何让控件 B 以这样的方式更新其子控件,以便它们可以通过正常的生命周期,根据需要加载视图状态?
只是为了清楚起见,当控件 A 的参数发生更改时,控件 B 的子控件可能必须保留一些,一些需要删除,一些需要添加,因此对于保留的那些,它们仍然需要负载状态。