复合服务器控件我有一个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