看板 Web_Design 關於我們 聯絡資訊
最簡單的解法,ViewState["ooxx"]改成Session["ooxx"] 但這是壞習慣,會有效能問題 網頁版面有限,一次撈個幾萬筆資料也塞不下, 可以考慮動態調整 SQL,每次只撈夠用的就好…程式可能要動滿大的 JOIN數個TABLE…聽起來也有改善空間 ※ 引述《ray521 (一年)》之銘言: : 各位好 : 我先描述一下我的情況 : 有一段SQL SELECT JOIN 數個TABLE : 查詢的結果會有萬筆資料 : 我的作法是將結果放置DataSet : 讓DataGrid DataBind後 : 再將DataSet放至ViewState中 : 然後使用DataGrid 的PageIndexChanged : 當PageIndexChanged發生時, : 直接從ViewState取出資料,不用再查詢一次 : 我這樣做的原因是原本的SELECT SQL : 執行時大概會花10s-20s : 如果每次PageIndexChanged都重新查詢 : 會很花時間 : 所以我才想從ViewState取資料就好 : 以上是我的作法 : 但我現在遇到的問題是 : 因為資料很多,導至ViewState過大 : 當超出一定大小後 : 會導至網頁上的物件執行出錯 : (就是按了 任何應該autopostback的物件 : 就會出現網頁錯誤的情況) : 所以上來問問 : 請問對這方面的情況 : 有沒有什麼更好的實現方式或作法呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.208.48
ray521:想請問一下 以SQL方式的話。有辦法使用SQL語法,達成 12/18 14:11
ray521:一次只要結果中的某順序比資料嗎?像要結果中的50-100筆 12/18 14:12
ray521:我有想過用not in top 50的方式。但這樣應該會更慢@@ 12/18 14:12
grence:top..假設是sql server.. http://diary.tw/tim/373 12/18 15:07
ray521:很有用的網頁耶!這樣我只要自己實作PageIndexChange就好了 12/18 18:01