<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

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

        來源:懂視網 責編:小采 時間:2020-11-27 22:42:56
        文檔

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

        Asp.Net分頁和AspNetPager控件的使用:下面就來重點說說這幾種分頁方式: 一般情況下我們都是通過sql語句來分頁,這在無論哪種開發語音都是通用的, 使用sql語句或者存儲過程分頁的方式最主要的是要在讀取數據的時候把sql語句或者存儲過程寫好,它的原理是只讀取當前要顯示的幾行記錄,所以要根據
        推薦度:
        導讀Asp.Net分頁和AspNetPager控件的使用:下面就來重點說說這幾種分頁方式: 一般情況下我們都是通過sql語句來分頁,這在無論哪種開發語音都是通用的, 使用sql語句或者存儲過程分頁的方式最主要的是要在讀取數據的時候把sql語句或者存儲過程寫好,它的原理是只讀取當前要顯示的幾行記錄,所以要根據

        下面就來重點說說這幾種分頁方式:

        一般情況下我們都是通過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=頁碼

          如:http://www.hnzbtb.com/NewList.aspx?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;
        }

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

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

        Asp.Net分頁和AspNetPager控件的使用:下面就來重點說說這幾種分頁方式: 一般情況下我們都是通過sql語句來分頁,這在無論哪種開發語音都是通用的, 使用sql語句或者存儲過程分頁的方式最主要的是要在讀取數據的時候把sql語句或者存儲過程寫好,它的原理是只讀取當前要顯示的幾行記錄,所以要根據
        推薦度:
        標簽: 使用 控件 分頁
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 免费国产99久久久香蕉| 少妇性饥渴无码A区免费 | 国产一精品一AV一免费孕妇 | 色www免费视频| 国内精品一级毛片免费看| 亚洲中文字幕成人在线| 亚洲欧美熟妇综合久久久久| 二级毛片免费观看全程| 免费看黄视频网站| 亚洲精品国产品国语在线| 亚洲中文字幕久久精品无码VA| 丝袜捆绑调教视频免费区| 成年女人喷潮毛片免费播放| 久久精品国产亚洲av麻豆| 羞羞漫画在线成人漫画阅读免费| 日韩精品免费电影| 综合自拍亚洲综合图不卡区| 一级毛片大全免费播放下载| 午夜色a大片在线观看免费| 亚洲视频精品在线| 中文在线免费看视频| 亚洲A∨无码无在线观看| 一区二区三区在线免费观看视频| 2048亚洲精品国产| 一区二区在线免费观看| 亚洲XX00视频| 久久亚洲精品无码av| 成人A级毛片免费观看AV网站| 亚洲精品乱码久久久久蜜桃| 91网站免费观看| 亚洲毛片免费视频| 欧洲人免费视频网站在线| 国产午夜亚洲精品国产成人小说| 亚洲精品久久无码| 亚洲最大激情中文字幕| 色婷婷综合缴情综免费观看| 亚洲精品国精品久久99热一| 野花高清在线观看免费完整版中文 | 亚洲丝袜中文字幕| 麻豆视频免费播放| 亚洲美女自拍视频|