关于动态生成的控件的状态管理

最近作了一个控件,我发现它在页面回发的时候就会出现控件的值丢失情况,我就尝试用各种方法去保留控件的值,设定控件的viewstate,让控件继承ipostbackdatahandler,居然全部没有用,后来查了一些资料,发现了问题。
  我把控件的初始化工作放入了构造函数,这种做法是要遭人鄙视的。事实上,应该在CreateChildControl里面对空间进行初始化,并且用controls.add(...),把创建的对象加入controls集合,并且让控件继承ipostbackdatahandler,这样,页面回发的时候,控件就会再loadpostdata之前为控件赋值,可以选择一个变量再loadpostdata中保存该值,再onprerender时重新赋回去。

你可能感兴趣的:(管理)