※ 引述《huge (huge)》之銘言:
: 由於網頁有一部份必須在Mobile上進行運作
: 為了效率的關係,必須將整頁的ViewState都關閉
: 但發現DropDownList如果不開啟ViewState,是無法取到SelectedValue
: 想過一些解決辦法,不過都不大好
: 第一個是在PreLoad事件掃一遍所有的Control,把非DropDownList的ViewState都關閉
: 第二個是打開DropDownList的AutoPostBack,不過這樣一來,其它的Control都會失靈(因為關閉ViewState)
: 不知板上各位是否有什麼好方法可以解決這個問題呢?
: 謝謝
剛剛試著override PreLoad
感謝朱明中先生提供的一些技巧
http://www.microsoft.com/taiwan/msdn/columns/jhu_ming_jhong/Dynamic_Control_Creation.htm
在OnPreLoad事件中呼叫DepthFindControl
將所有Control的ViewState都關閉,僅保留DropDownList的控制項
不過由於是用Recursive Call的方式,以傳統的程式開發而言,效率應該會蠻差的
所以還想請問板上朋友們是否有較好的方式
可以在關閉Page ViewState的情況下,單獨打開某一個Control的ViewState呢,謝謝 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.228.146.66
※ 編輯: huge 來自: 220.228.146.66 (11/09 15:17)