程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

狀態

編輯:.NET實例教程

最近,准備完善一下執法量統計模塊,老高經常講,領導就喜歡看圖形,既然領導喜歡,我就得做了。

         前面幾個模塊的圖形報表都用的RDLC,非常不靈活,加一個字段還得拖控件,有點郁悶,而且本地RDLC還不支持打印。網上找了一個開源的Chart控件,靈活,小巧,但唯一不足的就是,不能在圖形上做動態鏈接。

如果每次用圖形控件,都要去弄數據綁定,那是很痛苦的事情。就想做成一個用戶控件。但是,做一個用戶控件,保存控件的狀態是個麻煩事,放數據庫裡,性能代價很高。放會話裡吧,服務器性能代價也不小。

那就放vIEwState裡吧。

         在項目裡已經做過一個用戶控件,狀態也是保存在vIEwState,效果達到了,但一直沒弄明白狀態的生命周期,心裡老感覺有個結。

通過Trace,發現;

InitLoad方法之間加載控件的狀態,在Init方法之前的重寫狀態都將被服務器裡的上次保存的狀態值覆蓋,所以不要在Init方法或之前去改變狀態的值。

再看看在什麼時候保存狀態;

原來在Render方法之前才保存,那麼只要在Render之前的修改都是有效的。當page跳轉到其他頁面,那麼page生命周期結束,狀態也隨之消亡。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved