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

首頁 > 學院 > 開發設計 > 正文

NET分頁實現及代碼

2019-11-17 01:34:33
字體:
來源:轉載
供稿:網友

NET分頁實現及代碼

最近在寫一個關于NET的框架,寫到后面果不其然的就遇到了分頁,自己看了很多關于分頁的并自己結合寫了一個,曬出來和大家分享一下,第一次寫博客望大家多多提意見啦。。。

cs文件分頁代碼:

1 Paging p = new Paging(3, sql語句);     //每頁3條 2 ViewState["List"] = p.GetDataTable(); //查詢出要顯示的DataTable3 ViewState["page"] = p.GetPageing(this); //分頁顯示html

前臺調用:

1 <%=ViewState["page"]%>

最近剛發現的ViewState這個函數,只要后臺定義前臺就可以調用很方便。(這個是不是自己out了,現在才發現)

下面是關于Paging類:

  1     public class Paging  2     {  3         PRivate string pagedNum;  //定義分頁條,輸出到前臺      4         private int pageSize;     // 定義每頁有多少條數據量.      5         private string url;       //獲取當前頁  6         private int countNum;    //總條數  7         private string SelSql;   //查詢SQL語句  8         private DataSet ds;  9  10         public Paging(int pageSize, string SelSql) 11         { 12             this.pageSize = pageSize; 13             this.url = HttpContext.Current.Request.Url.LocalPath; 14             this.SelSql = SelSql; 15             GetPageDate(SelSql); 16         } 17         //定義樣式a標簽第一個樣式     18         private readonly string CSStagA = @"<a href='{0}?page={1}' >{2}</a>";            //{0}{1}{2}代表url和參數名,參數值,頁碼值     19         //定義樣式a標簽第二個樣式     20         //private readonly string csstagA1 = "<a style='font-size:13px;font-weight:bold;margin:0 4px 0 4px'>{0}</a>"; 21         private readonly string csstagA1 = "<span class='pc'>{0}</span>"; 22  23  24         public delegate int GetDelegate(); 25  26  27         /// <summary>     28         /// 生成分頁條     29         /// </summary>     30         /// <param name="pageIndex">當前頁</param>     31         /// <param name="del">獲得數據條數的方法</param>     32         /// <returns></returns>     33         public string GetPageing(Page p) 34         { 35             string index = p.Request.QueryString["page"]; 36             int i; 37             if (!string.IsNullOrEmpty(index) && int.TryParse(index, out i)) 38             { 39                 pagedNum = GetPagegNum(i, GetPageCount(i, countNum)); 40             } 41             else 42             { 43                 pagedNum = GetPagegNum(1, GetPageCount(1, countNum)); 44             } 45              46             return pagedNum; 47         } 48  49         private int GetPageCount(int pageIndex, int countPage)     //獲得總頁數     50         { 51             int Count = 0; 52             Count = countPage; 53             double c = Count * 1.0 / pageSize; 54             return (int)Math.Ceiling(c); 55         } 56  57  58         private string GetPagegNum(int pageIndex, int pageCount)           //類似   上一頁 1 ... 7 8 9 ⑩ 11 12 13 14 下一頁   ⑩是當前選中頁     59         { 60             StringBuilder sb = new StringBuilder(); 61             List<int> ns = new List<int>();              //用于接收當前頁范圍內的數字     62             string[] numList = new string[12];           //12個字符串數組,存放分頁條數據     63             numList[0] = "";       //“上一頁”位置     64             numList[11] = "";      //“下一頁”位置         65             if (pageIndex > 1)                                         //判斷當前頁     66             { 67                 numList[0] = string.Format(csstagA, url, (pageIndex - 1), "<上一頁"); 68             } 69             if (pageIndex < pageCount) 70             { 71                 numList[11] = string.Format(csstagA, url, (pageIndex + 1), "下一頁>"); 72             } 73             if (pageIndex >= 10)    //當前頁大于10頁的狀態     74             { 75                 //主要的     76                 numList[1] = string.Format(csstagA, url, 1, 1); 77                 numList[2] = "..."; 78                 //int index = 0;     79                 if (pageIndex + 4 >= pageCount)    //如果當前頁加4頁小于總頁數     80                 { 81                     for (int i = pageCount - 7; i < pageCount + 1; i++) 82                     { 83                         //index = i;     84                         ns.Add(i); 85                     } 86                     for (int j = 0; j <= 7; j++)    //遍歷ns頁碼值填充到分頁條     87                     { 88                         if (ns[j] == pageIndex)     //判斷是否為當前頁碼,來使用不同css樣式     89                         { 90                             numList[j + 3] = string.Format(csstagA1, ns[j]);  //因為字符串數組前3位分別為“上一頁”,“1”,“...”,所以從第四位填充7個     91                         } 92                         numList[j + 3] = string.Format(csstagA, url, ns[j], ns[j]); 93                     } 94                 } 95                 for (int i = pageIndex - 3; i <= pageIndex + 4; i++) 96                 { 97                     //index = i;     98                     ns.Add(i); 99                 }100                 for (int j = 0; j <= 7; j++)101                 {102                     if (ns[j] == pageIndex)103                     {104                         numList[j + 3] = string.Format(csstagA1, ns[j]);105                     }106                     else107                     {108                         numList[j + 3] = string.Format(csstagA, url, ns[j], ns[j]);109                     }110                 }111             }112             else   //10頁以下的狀態    113             {114                 if (pageCount >= 10)               //頁數大于等于10    115                 {116                     for (int i = 1; i <= 10; i++)117                     {118                         if (i == pageIndex)119                         {120                             numList[i] = string.Format(csstagA1, i);121                         }122                         else123                         {124                             numList[i] = string.Format(csstagA, url, i, i);125                         }126                     }127                 }128                 else            //頁數小于10    129                 {130                     for (int i = 1; i <= pageCount; i++)131                     {132                         if (i == pageIndex)133                         {134                             numList[i] = string.Format(csstagA1, i);135                         }136                         else137                         {138                             numList[i] = string.Format(csstagA, url, i, i);139                         }140                     }141                 }142             }143             sb.Append("<div class='page'>");144             for (int i = 0; i < numList.Length; i++)   //將字符串數組填入StringBulider中    145             {146                 sb.Append(numList[i]);147             }148 149             sb.AppendFormat(" 共{0}/{1}條", pageIndex, pageCount);150             sb.Append("</div>");151             return sb.ToString();   //返回,并在前臺 <span id="pagedspan"><%=pagedNum %></span>    152         }153 154         /// <summary>155         /// 獲取分頁數據和總頁數156         /// </summary>157         /// <param name="pageSql"></param>158         public void GetPageDate(string pageSql)159         {160             int pageIndex = Req.QueryString("page").ToInt(1);161 162             StringBuilder strSql = new StringBuilder();163             strSql.Append(@"declare @startRow int164 declare @endRow int165 declare @pageSize int166 declare @pageIndex int167 set @pageSize=@pageSize2 168 set @pageIndex=@pageIndex2 169 set @startRow=(@pageIndex-1) * @pageSize+1 170 set @endRow=@pageSize*@pageIndex");171             strSql.Append(" select * from(");172             strSql.Append("select *,ROW_NUMBER() OVER (ORDER BY getdate()) pageID from(");173             strSql.Append(pageSql);174             strSql.Append(")tab_a");175             strSql.Append(")tab_b where pageID between @startRow and @endRow");176 177
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美丝袜美女中出在线| 国产精品自产拍高潮在线观看| 亚洲综合自拍一区| 亚洲美女福利视频网站| 性色av香蕉一区二区| 91精品啪在线观看麻豆免费| 久久久电影免费观看完整版| 成人精品网站在线观看| 性欧美办公室18xxxxhd| 日韩电影中文字幕av| 性视频1819p久久| 超碰97人人做人人爱少妇| 久久综合免费视频| 国产精品丝袜高跟| 91午夜在线播放| 最近2019中文字幕第三页视频| 亚洲免费一级电影| 日韩欧美视频一区二区三区| 亚洲黄色av女优在线观看| 2019最新中文字幕| 国产免费观看久久黄| 欧美韩国理论所午夜片917电影| 亚洲成年人在线播放| 国产精品视频成人| 亚洲精品之草原avav久久| 另类少妇人与禽zozz0性伦| 一区二区中文字幕| 91免费精品国偷自产在线| 中文在线不卡视频| 国产精品久久久久av免费| 欧美午夜性色大片在线观看| 91av在线免费观看视频| 岛国av在线不卡| 欧美福利视频网站| 51ⅴ精品国产91久久久久久| 成人在线精品视频| 2018中文字幕一区二区三区| 久久久久这里只有精品| 中文字幕欧美日韩va免费视频| 日韩精品高清在线观看| 亚洲一二三在线| 亚洲成av人影院在线观看| 中文字幕综合在线| 亚洲欧美在线播放| 久久国产一区二区三区| 欧美日韩加勒比精品一区| 成人免费xxxxx在线观看| 欧美激情欧美激情在线五月| 成人激情视频在线播放| 国产精品日日摸夜夜添夜夜av| 国产精品video| 国产精品久久久久久av福利| 亚洲欧洲国产一区| 午夜精品理论片| 精品久久久久久亚洲精品| 国产精品永久在线| 欧美大片第1页| 欧美成人一区二区三区电影| www欧美xxxx| 美女av一区二区三区| 26uuu另类亚洲欧美日本老年| 日韩av综合网站| 亚洲在线免费视频| 日韩av在线网页| 国产日韩欧美视频在线| 最好看的2019的中文字幕视频| 91精品久久久久久| 成人黄在线观看| 精品亚洲一区二区三区在线播放| 亚洲视频在线免费观看| 97久久超碰福利国产精品…| 国内精品久久久久久久久| 亚洲精品理论电影| 亚洲国产另类 国产精品国产免费| 一本色道久久综合亚洲精品小说| 日韩av在线导航| 亚洲国产精品va在看黑人| 久久久成人精品| 国产精品中文在线| 国模视频一区二区三区| 欧美日韩中国免费专区在线看| 91精品视频专区| 日韩专区中文字幕| 国产不卡精品视男人的天堂| 亚洲欧美日韩天堂| 国产精品久久久久久久久久三级| 国产日韩欧美在线看| 亚洲国产成人久久| 久久精品国产亚洲精品| 91久久在线视频| 亚洲国产日韩欧美综合久久| 亚洲人成电影在线| 国产精品主播视频| 国产精品高清网站| 自拍偷拍亚洲精品| 欧美有码在线观看| 久久人人爽人人爽人人片av高清| 最好看的2019年中文视频| 伊人久久久久久久久久久| 亚洲国产欧美日韩精品| …久久精品99久久香蕉国产| 97色伦亚洲国产| 91爱视频在线| 欧美—级高清免费播放| 亚洲毛片在线看| 国产亚洲精品成人av久久ww| 国产精品一二三视频| 国产精品久久久久免费a∨大胸| 亚洲二区中文字幕| 91精品视频大全| 亚洲色图国产精品| 国产高清视频一区三区| 成人国产亚洲精品a区天堂华泰| 国产精品黄页免费高清在线观看| 欧美视频在线观看免费网址| 日韩女优人人人人射在线视频| 亚洲国产另类久久精品| 久久韩剧网电视剧| 久久国内精品一国内精品| 亚洲人成在线观看| 九九热最新视频//这里只有精品| 伊人精品在线观看| 亚洲电影在线观看| 亚洲福利视频久久| 91在线观看免费高清完整版在线观看| 免费91麻豆精品国产自产在线观看| 亚洲精品白浆高清久久久久久| 欧美视频专区一二在线观看| 欧美日韩美女视频| 成人免费直播live| 伊人久久男人天堂| 欧洲日本亚洲国产区| 欧美日韩国产区| 日韩av在线天堂网| 国产精品视频yy9099| 日韩国产在线播放| 日韩av在线一区二区| 欧美日韩中文字幕在线视频| 中文欧美日本在线资源| 亚洲男人av电影| 精品精品国产国产自在线| 日韩美女写真福利在线观看| 国产精品久久久久9999| 欧美第一黄网免费网站| 欧美激情视频网站| www.xxxx精品| 日韩精品免费在线观看| 色av吧综合网| 日韩av观看网址| 欧美精品在线免费观看| 精品国产成人在线| 亚洲tv在线观看| 亚洲欧美中文日韩在线| 茄子视频成人在线| 国产视频精品久久久| 日韩精品视频在线免费观看| 欧美性极品少妇精品网站| 日韩激情av在线播放| 欧美日在线观看| 亚洲欧美中文在线视频| 97精品在线视频| 欧美亚洲日本黄色| 欧美在线观看www| 欧美午夜无遮挡|