一直困绕了几个月的viewstate 丢失,今天终于解决了.这个问题找了好久,也调试了好久.昨天在网上找了一偏关于动态控件状态的文章,看是看懂了,也明白了:控件只有被加到控件树后,它的修改才能被记录.今天继续调试我的那个复合控件,我一步步将控件简化,将调试过程简化,突然看到Controls.Add()时,想起了那动态控件的状态一文,立马将InitializeSkin(skin); Controls.Add(skin); 反过来,一调试,OK!太激动了,问题解决了.回想下,复合控件镶嵌的太深,把自己误导了,原来问题出现在最外面的那层.哎,还好问题终于解决了.
强烈建议viewstate丢失,或控件状态无法保存的兄弟门,再查查,那些东西是否已被添加到控件数(很可能不是自己的父控件哦),然后在作的状态操作!
现在可以放下心了,呵呵!
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)