2012年6月22日 星期五

動態增加控制項到gridview裡

http://www.blueshop.com.tw/board/show.asp?subcde=BRD20060629170205LQR


把動態建立控制項的動作搬至 Page_Init 事件中即可。

即於為什麼要放在 Page_Init 中呢?那是因為 Web Page 事件序順的關係,大致順序如下

1.Page_Init 時會建立所有 Page 上的控制項,也就是由將 aspx 中的定義產生控制項。
2.執行每個控制項的 LoadViewState,也是由 ViewState 中取回控制項設定的值,維護控制項的狀態。
3.觸發 Page_Load

由以上的順序,知道問題在那了嗎?重點在 LoadViewState,你要在 LoadViewState 之前建立控制項,
才能由 ViewState 中的值重新設定控制項的值。