状态

来源:互联网 发布:淘宝淘客 -广告 编辑:程序博客网 时间:2024/04/27 13:43

最近,准备完善一下执法量统计模块,老高经常讲,领导就喜欢看图形,既然领导喜欢,我就得做了。

         前面几个模块的图形报表都用的RDLC,非常不灵活,加一个字段还得拖控件,有点郁闷,而且本地RDLC还不支持打印。网上找了一个开源的Chart控件,灵活,小巧,但唯一不足的就是,不能在图形上做动态链接。

如果每次用图形控件,都要去弄数据绑定,那是很痛苦的事情。就想做成一个用户控件。但是,做一个用户控件,保存控件的状态是个麻烦事,放数据库里,性能代价很高。放会话里吧,服务器性能代价也不小。

那就放viewState里吧。

         在项目里已经做过一个用户控件,状态也是保存在viewState,效果达到了,但一直没弄明白状态的生命周期,心里老感觉有个结。

通过Trace,发现;

InitLoad方法之间加载控件的状态,在Init方法之前的重写状态都将被服务器里的上次保存的状态值覆盖,所以不要在Init方法或之前去改变状态的值。

再看看在什么时候保存状态;

原来在Render方法之前才保存,那么只要在Render之前的修改都是有效的。当page跳转到其他页面,那么page生命周期结束,状态也随之消亡。

 
原创粉丝点击