事件執行順序的問題
為了提升程式執行效率
我在我的web form裡用上了一些和javascript合作的地方
其中一個是
我在DataGrid裡有很多的項目可以勾選(checkbox)
而且是可以重複編輯的
我的做法是在DataGrid的ItemDataBound事件處理函式裡
先把所有的CheckBox有沒有勾選
做成[1,t];[2;f];[3;f]...放在一個Hidden Input欄位裡
代表1號ChecoBox有沒有被勾選等等
然後在網頁要被PostBack之前
先用JavaScript做出[1,f];[2,f];[3,t]
這代表1號被取消勾選,3選被勾選
於是我把[1,f];[3,t](就是有變動的地方)放在原來的Hidden Input欄位
所以我的後端程式不需要做這麼多事
只要看哪些被取消勾選、哪些被勾選
直接在資料庫裡做更動就好了
可是問題來了
第一次處理都很ok
不過第二次(PostBack之後)之後
我預期Hidden Input的值會是更新後的[1,f];[2,f];[3,t]
但是事實上卻還是[1,f];[3,t]
我在PreRender裡,有放DataGrid.DataBind()
這樣不是會重新DataBind一次嗎?
那DataBind的時候,不是會ItemDataBound嗎?
還是我的觀念錯了?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.233.200
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章