repeater控制項實現分頁

2021-06-07 15:54:20 字數 1412 閱讀 2797

分頁分為真分頁和假分頁。

假分頁:從資料庫一次性取出所有資料繫結到控制項上,再將所有資料根據一頁顯示多少條而分頁。

從以上二者的概念上我們可以看出,區別在於分頁時從資料庫讀取資訊的方式,真分頁的效率無疑是最高的。假分頁在首次頁面載入的時候會比較慢(如果資料量較多)。

二者其實各有各的優缺點,可根據需要來自行選擇(比如資料量較多時,先用真分頁;想減少與後台的互動,可以使用假分頁)。

下面我就介紹repeater控制項基於以上兩種方法的分頁:

無論真分頁還是假分頁,前台分頁按鈕**都可以類似以下的方式:

頁首頁尾

第頁/共頁

1. 假分頁

protected void page_load(object sender, eventargs e)

}//獲取指字元個數的字元

public string cuts(string aa,int bb)

else }

//repeater分頁控制顯示方法

public void contrlrepeater()

if (pds.currentpageindex == pds.pagecount-1)

repeater1.databind();}

protected void lbtnpritpage_click(object sender, eventargs e)

protected void lbtnfirstpage_click(object sender, eventargs e)

protected void lb***ownpage_click(object sender, eventargs e)

protected void lbtnnextpage_click(object sender, eventargs e)

2. 真分頁

真分頁主要實現在於sql語句上:

select

top每頁顯示的記錄數 * 

from

topic 

where

id notin(

select

top(當前的頁數-1)*每頁顯示的記錄數 id 

from

topic 

order

byid 

desc

) order

byid 

desc

再查詢出總記錄數來計算總頁數pagecount

int pagecount = (int)math.ceiling((double)查詢出的總記錄數個數/ (double)每頁顯示的記錄數)

之後將返回的資料表直接繫結到repeater控制項上,再將當前頁數、總頁數利用以上我給出的假分頁套上就行了。

有了思路和主要**,

相信大家自己應該能套上,我就不再重複寫**了。

repeater控制項分頁

region 資料來源繫結 分頁 初始資料繫結 public void databindtorepresouce string condition else int curpage convert.toint32 this.la page.text pageddatasource ps new pa...

分頁繫結repeater控制項

booklist.aspx.cscode using system using system.data using system.configuration using system.collections using system.web using system.web.security usi...

Repeater控制項分頁例子

repeater控制項分頁例子 repeater和datalist控制項提供了乙個快速 靈活的表現資料的方式,但是,它們沒有內建的分頁功能 datagrid控制項提供了內建的分頁功能,但它的結構比較複雜。下面就用pageddatasource類實現repeater和datalist的分頁。paged...