然後將為DataGrid對象編寫代碼來使用分頁技巧
DataGrid的AllowPaging
AllowCustomPaging
PageStyle屬性有助於記錄用戶的訪問狀態
首先設定AllowCustomPaging為True
我們使用SQLDataReader來裝載DataGrid對象
據性能測試表明
在構建列表顯示數據時
使用SQLDataReader比使用DataSet要快兩倍以上
為了追求性能最佳化
設定DataGrid的EnableViewState屬性為false
因為這樣在每次與Web服務器打交道時就不必再在viewstate中存儲內容了
當DataGrid不在viewstate中進行保存
需要添加導航按鈕來幫助用戶進行導航
那麼在頁面上增加兩個按鈕
上一頁
和
下一頁
要進入下一頁
就在
下一頁
按鈕上增加click事件
通過自定義分頁存儲過程請求相應的記錄
例如
如果第一頁由第
條到第
條記錄組成
那麼要導航到第二頁
我們就向存儲過程的@StartRow傳遞參數
向@StopRow傳遞參數
即可
要返回到第一頁
@StartRow和@StopRow分別為
和
在這裡使用VB
NET編寫
下一頁
事件
Private Sub ButtonNext_Click (ByVal sender As Object
_
ByVal e As System
EventArgs) Handles ButtonNext
Click
viewstate(
StartRow
) = viewstate(
StartRow
) + dgrid
PageSize
viewstate(
StopRow
) = viewstate(
StartRow
) + dgrid
PageSize
運行存儲過程
返回SQLDataReader
dgrid
DataSource = RunSprocReturnDR (textSt_lname
Text
textSt_fname
Text
viewstate(
StartRow
)
viewstate(
StopRow
))
dgrid
DataBind()
End Sub
在上面的例子中
viewstate中保存的只是@StartRow和@StopRow的信息
這比在viewstate中保存整個DataGrid對象高效的多
結束語 以上程序是在SQL Server
實現的
但對於其他關系型數據庫同樣適用
比如ORACLE等等
列表顯示信息的性能對浏覽者的訪問是很重要的
設計不好的列表顯示會大大降低應用程序的性能
不管它的後端數據庫是多麼快速
使用自定義分頁技術
可以避免DataGrid默認分頁機制帶來的缺陷
在
NET框架的強大沖擊下
ASP
NET已成為新一代網站開發的主流技術
因此本文討論的技術很具有實用價值
[] [] [] []
From:http://tw.wingwit.com/Article/program/net/201311/14927.html