
一般情況下我們都是通過sql語句來分頁,這在無論哪種開發語音都是通用的,
使用sql語句或者存儲過程分頁的方式最主要的是要在讀取數據的時候把sql語句或者存儲過程寫好,它的原理是只讀取當前要顯示的幾行記錄,所以要根據頁數和每頁顯示的數目來寫語句,如下:
Select top pageSize * from News where id not in(select top (Page-1)*pageSize id from News)
很顯然只要將pageSize和Page作為參數就可以了,然后再前臺調用的時候只要指定當前頁數和每頁顯示的數目,就可以實現分頁了,為了顯示總數目,還可以讀取所有數目,需要注意的時候,如果是自定義分頁視圖,由于.net在回傳的時候不保存當前頁,所以要使用ViewState來保存頁數,每次只讀取所需要的幾條記錄,所以適合做大型網站數量比較大的時候使用
另外一種分頁方式就是使用.net提供的PageDataSource類來分頁,
PageDataSource是微軟提供一個用于分頁使用的類,集成了綁定控件的一些方法,在使用的時候,我們只需要從數據庫讀取我們所要的數據,綁定到PageDataSource即可,然后允許PageDataSource可以分頁,指定當前頁和每頁要顯示的數目,這樣就可以很好的獲得的總的數目,結合控件,ViewState就可以完成自定義分頁視圖,方法如下:
PagedDataSource pageDataSource = new PagedDataSource();