首页 > 代码库 > NET:关于ChenkBoxList生命周期

NET:关于ChenkBoxList生命周期

前几天写了个弹出层,显示多选功能,但一直出错,

出错原因及代码如链接:http://bbs.csdn.net/topics/390820888


搞定之后,仔细回想下,觉得自己没有意识到控件的生命周期问题。

弹出层里面放的checkboxlist的话,那么每选中一个则页面会回发到服务器,然后服务器会解析页面模版并返回html给客户端,客户端重新解析html并渲染,重新生成新页面,且已保留页面状态值。

在这个过程中,回发时,会重新载入PageLoad函数,此刻,在这里写一个是否回发函数,肯定不执行回发函数,然后会判断页面状态,即为SelectedIndexChanged状态,则会重新跳转到弹出层页面,且保留控件状态。

这个周期中,点击-->选择-->回发-->重新载入-->保留空间状态的新页面-->再次点击-->。。。


关于页面状态,即控件状态保存,找到如下说法:

1. 控件的值被存入viewstate,asp.net页面生命周期在打造页面树时,在一系列的管道事件中,在processdata事件中将viewstate里面的还原给控件。

2. asp.net 自己会处理的 如果使用的是服务端控件并且没有禁用页面状态的话 asp.net会自动维持控件的状态



PS:

有人问到一道小题,我觉得挺有意思,发出来,找找乐子。

int k=3,m;

m=(++k)+(++k)+(++k)


计算为 15