亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

Asp.Net分頁和AspNetPager控件的使用

2024-07-10 13:25:22
字體:
來源:轉載
供稿:網友
下面就來重點說說這幾種分頁方式:

Asp.Net分頁和AspNetPager控件的使用

一般情況下我們都是通過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();

        pageDataSource.DataSource = NewsManager.GetNews();//所有記錄

        pageDataSource.AllowPaging = true;

        pageDataSource.PageSize = 16;

        pageDataSource.CurrentPageIndex = Pager– 1;

        this.Repeater1.DataSource = pageDataSource;

        this.Repeater1.DataBind();

由于PageDataSource是將所有的數據都讀出來,然后再分頁的,所有適合一些小型網站,比如企業站,數量不是很大的時候使用,大概2w以內的數據使用

上面是常用的兩種分頁方式,下面在來看看分頁視圖控件AspNetPager的用法:

AspNetPager屬于第三方控件,就是說既不是微軟開發的,也不是你開發的,而是由其他技術員自己開發的,共享給我們用的控件,所以在使用的時候,我們首先要從網上下載下來,然后和其他控件一樣,首先將其放到工具箱內,這里你可以直接拖進來,或者也可以右擊工具菜單項---選擇項,找到目錄添加進來即可

下面簡單說一下它的一些屬性和方法

  AlwaysShow:表示當前在只有一頁的時候,控件是顯示還是不顯示

  PageSize:每頁要顯示的數目

  RecordCount:總數目

  NumericButtonCount:每頁要顯示的頁碼數目

  注:上面三個屬性就是用來顯示分頁控件的視圖,但是他們只是為了顯示分頁控件的視圖。

  FirstPageText="第一頁"

 LastPageText="最后一頁"

 NextPageText="下一頁"

  PrevPageText="前一頁"

  PagingButtonSpacing="12":每個頁碼之間的寬度

 NumericButtonTextFormatString="[{0}]" :頁碼顯示的樣式

  EnableUrlRewriting="true":是否啟用url重寫,默認的情況下是域名?page=頁碼

  如:?page=3,不過你可以對其修改 重新

UrlRewritePattern:重寫的url,如:AspNetPager1.UrlRewritePattern = "NewList.aspx?dd={0}"

注:這里要提到的是如果要改變要顯示頁碼的參數,那就必須修改顯示,然后再修改url中的參數

  UrlPaging="True" :是否只用url傳遞參數來顯示分頁,如果是FALSE,則url不變,狀態欄則顯示

 SubmitButtonText="轉到" ShowInputBox="Always":用來解決轉到按鈕的顯示

兩個常用的方法

1、PageChanging:分頁之前的操作,所以要想獲得當前控件的頁碼就必須在方法內賦值才可以,否則AspNetPager1.CurrentPageIndex永遠獲得的當前頁的值都是1,因為就相當于你沒點擊任何頁碼,從開始都是1,所以你無論點擊那個頁碼說,之前的都是1

  protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)

    {

        Pager = e.NewPageIndex - 1;

        DataBindNews();

}

  public void DataBindNews()

    {

        PagedDataSource pageDataSource = new PagedDataSource();

        pageDataSource.DataSource = NewsManager.GetNews();

        pageDataSource.AllowPaging = true;

        AspNetPager1.RecordCount = NewsManager.GetNewsCount();

        pageDataSource.PageSize = 16;

        pageDataSource.CurrentPageIndex = Pager;

        this.Repeater1.DataSource = pageDataSource;

        this.Repeater1.DataBind();

    }

之所以減1是因為要結合的分頁方法和PageDataSource都是從0開始的

GrilView中自定義的分頁,我們也會用到它的

     protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)

    {

        this.GridView1.PageIndex = e.NewPageIndex;

        dataBindProduct(0, null);

}

 

2、PageChanged:點擊頁碼之后的操作,所以可以直接通過AspNetPager1.CurrentPageIndex – 1獲得當前頁的頁數,因為之前確實點擊了頁碼數,很顯然會獲得當前的頁碼數

     protected void AspNetPager1_PageChanged(object src,EventArgs e)

    {

        DataBindNews();

}

  public void DataBindNews()

    {

        PagedDataSource pageDataSource = new PagedDataSource();

        pageDataSource.DataSource = NewsManager.GetNews();

        pageDataSource.AllowPaging = true;

        AspNetPager1.RecordCount = NewsManager.GetNewsCount();

        pageDataSource.PageSize = 16;

        pageDataSource.CurrentPageIndex = AspNetPager1.CurrentPageIndex – 1;

        this.Repeater1.DataSource = pageDataSource;

        this.Repeater1.DataBind();

    }

如果使用了AspNetPager來分頁,那么只要指定總數給aspNetPager,當前頁用aspNetPager來指定,并保證每頁顯示的數目aspNetPager和PageDataSource指定的一致就可以實現分頁了,簡單吧,這個頁數的控制就不使用viewstate來保存了,頁數和頁顯示記錄直接通過Asp.Net來控制就行了

需要注意的是有些需要一致的東西,如果沒有一致,就有可能導致不協調,比如該分4頁的,但是aspNetPager只顯示了2頁等,這些都需要注意的!

下面簡單分享一下分頁控件的一個樣式:

Css樣式:


.pages
{
 color: #999;
}
.pages a, .pages .cpb
{
 text-decoration: none;
 float: left;
 padding: 0 5px;
 border: 1px solid #075198;
 background: #ffff;
 margin: 0 2px;
 font-size: 11px;
 color: #000;
}
.pages a:hover
{
 background-color: #075198;
 color: #fff;
 border: 1px solid #075198;
 text-decoration: none;
}
.pages .cpb
{
 font-weight: bold;
 color: #fff;
 background: #075198;
 border: 1px solid #075198;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产另类 国产精品国产免费| 国产啪精品视频网站| 欧美日韩国产999| 国产丝袜一区二区三区| 国产精品视频自拍| 久久精品成人欧美大片古装| 91国产精品91| 日韩美女视频在线观看| 国产一区二区三区在线播放免费观看| 欧美乱妇40p| 国产精品免费一区二区三区都可以| 久久艳片www.17c.com| 色无极亚洲影院| 国产在线一区二区三区| 午夜精品久久久久久99热软件| 美日韩精品免费观看视频| www.日韩视频| 国产成人高潮免费观看精品| 亚洲激情电影中文字幕| 91精品久久久久久久久久久久久久| 精品无人国产偷自产在线| 色噜噜久久综合伊人一本| 精品一区电影国产| 一个人看的www久久| 亚洲精品suv精品一区二区| 国产精品爽爽爽爽爽爽在线观看| 亚洲在线一区二区| 欧美成人sm免费视频| 久久久久久久香蕉网| 久久久在线观看| 久久久精品在线| 久久久999精品免费| 91超碰中文字幕久久精品| 国产精品久久久久久久久久东京| 亚洲级视频在线观看免费1级| 亚洲精品视频网上网址在线观看| 在线看片第一页欧美| 精品久久久久久久久久国产| 日日狠狠久久偷偷四色综合免费| 中文国产成人精品久久一| 欧美老女人在线视频| 97在线视频一区| 亚洲精选一区二区| 亚洲精品久久久久久久久久久久| 国产成人鲁鲁免费视频a| 2019精品视频| 亚洲最大成人在线| 国产成人久久久精品一区| 青青久久av北条麻妃海外网| 欧美日在线观看| 成人有码视频在线播放| 日韩欧美在线观看| 国产精品女视频| 欧美在线一区二区视频| 久久久国产视频91| 精品美女永久免费视频| 欧美日韩国产麻豆| 蜜臀久久99精品久久久无需会员| 精品国产一区二区三区久久久狼| 久久久免费在线观看| 国产欧美日韩高清| 亚洲欧洲在线看| 中文字幕精品一区久久久久| 最新的欧美黄色| 日韩有码在线观看| 亚洲一区二区三区777| 欧美精品一区二区三区国产精品| xvideos亚洲人网站| 久久精品91久久香蕉加勒比| 91探花福利精品国产自产在线| 8x海外华人永久免费日韩内陆视频| 国产精品69久久久久| 亚洲国产成人在线播放| 久热精品视频在线观看| 亚洲人成网在线播放| 日韩在线观看成人| 国产亚洲精品久久久久久777| 国产福利精品av综合导导航| 日本aⅴ大伊香蕉精品视频| www.日韩不卡电影av| 欧美成人午夜视频| 亚洲人成电影在线播放| 亚洲综合成人婷婷小说| 岛国视频午夜一区免费在线观看| 国产精品欧美日韩一区二区| 黄色一区二区在线| 亚洲国产精品成人精品| 国产精品视频yy9099| 亚洲第一黄色网| 欧美精品生活片| 国产在线视频欧美| 免费成人高清视频| 国产91在线高潮白浆在线观看| 97av视频在线| 国产精品中文久久久久久久| 色偷偷噜噜噜亚洲男人| 色综合视频一区中文字幕| 亚洲精品久久7777777| 免费成人高清视频| 久久天天躁狠狠躁夜夜躁2014| 97精品久久久| 日韩中文字幕视频| 深夜福利一区二区| 亚洲尤物视频网| 国产成人午夜视频网址| 亚洲a级在线播放观看| 高清欧美一区二区三区| 精品国产依人香蕉在线精品| 永久免费看mv网站入口亚洲| 久久精品在线视频| 夜夜嗨av色综合久久久综合网| 日韩男女性生活视频| 色综合视频网站| 一区二区三区国产在线观看| 久久精品视频va| 亚洲最大成人免费视频| 国产一区二区三区丝袜| 一区二区在线视频| 亚洲美女视频网站| 亚洲国产日韩一区| 91国产美女视频| 欧美第一淫aaasss性| 日韩av在线电影网| 亚洲电影免费观看高清| 性欧美办公室18xxxxhd| 国产精品高清免费在线观看| 91久久精品国产91久久性色| 91久久中文字幕| 欧美极品欧美精品欧美视频| 成人黄色免费网站在线观看| 欧美大秀在线观看| 欧美日韩另类在线| 亚洲国产成人精品女人久久久| 国产精品美乳一区二区免费| 97香蕉超级碰碰久久免费软件| 一区二区三区日韩在线| 日韩不卡在线观看| 国产精品成人品| 亚洲成人精品视频| 欧美精品久久久久久久久| 亚洲精品乱码久久久久久金桔影视| 日韩av大片免费看| 日韩视频免费在线| 亚洲精品国产精品久久清纯直播| 欧美中文字幕视频| 成人xxxxx| 色偷偷av一区二区三区| 色噜噜狠狠狠综合曰曰曰| 日韩av在线天堂网| www.欧美精品一二三区| 欧美日本在线视频中文字字幕| 最近2019年中文视频免费在线观看| 国产亚洲欧洲黄色| 国产精品jizz在线观看麻豆| 亚洲最大的网站| 国产一区二区色| 97精品国产97久久久久久免费| 中文字幕视频一区二区在线有码| 最新中文字幕亚洲| 亚洲女人天堂网| 在线观看91久久久久久| 久久久精品国产亚洲| 亚洲一区av在线播放| 国产精品吴梦梦|