日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Asp.Net分页控件

發布時間:2025/3/14 asp.net 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.Net分页控件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/// <summary>/// 分頁方法/// </summary>/// <param name="pageIndex">當前頁碼</param>/// <param name="totalCount">總條數</param>/// <param name="pageSize">一頁多少條</param>/// /// <param name="url">頁面地址</param>/// <param name="pageLength">顯示多少頁碼</param>/// <returns></returns>public static string Page(int pageIndex,int totalCount,int pageSize, string url,int pageLength=5){if (totalCount<=0){return "";}//保證在編寫下一頁的代碼定向時不會受到中間for循環的干擾使pageIndex的值發生改變int redirectPageIndex = pageIndex;//pageSize不可為0if (pageSize==0){pageSize = totalCount;}//獲得當前可分頁的頁數數量int pageCount = totalCount / pageSize + (totalCount % pageSize == 0 ? 0 : 1);//創建用來拼接字符串的對象StringBuilder sb = new StringBuilder();//處理首頁if (pageIndex!=1){//當前傳遞進來的頁碼不是第1頁,則顯示首頁和上一頁sb.Append(string.Format("<a href={0}?pageIndex={1}&pageSize={2}>首頁</a><a href={0}?pageIndex={3}&pageSize={2}>上一頁</a>", url,1, pageSize,pageIndex-1));}//保存顯示的頁碼數量int length;//處理中間的頁碼if (pageLength >= pageCount || pageLength <= 0){//如果需要分成的頁碼數量比可分成的大length = pageCount;}else{length = pageLength;}//方便計算當前應該轉折的pageIndex的值int t = pageIndex /length;int p = pageIndex % length;//這里給pageIndex重定向int l = pageCount - length + 1;//當前已經到了最后的轉折點if (pageIndex>=l){pageIndex = l;}else{//還未到if (p==0&&t==1){//這里說明在第一個轉折點pageIndex = 1;}else{//不在第一個if (p==0){//這是在轉折點的時候pageIndex = (t - 1) * length + 1;}else{pageIndex = t * length + 1;}}}//如果當前頁碼為最后一頁if (pageIndex>=pageCount){//則讓pageIndex回復到之前pageIndex = pageIndex - length+1; // + 1;}//處理頁碼for (int i = 0; i < length; i++){sb.Append(string.Format("<a href={0}?pageIndex={1}&pageSize={2}>{1}</a>",url, pageIndex, pageSize));pageIndex++;//temp++;}//處理下一頁與末頁if (redirectPageIndex < pageCount){//當前傳遞進來的頁碼不是最后頁,則顯示末頁和下一頁sb.Append(string.Format("<a href={0}?pageIndex={1}&pageSize={2}>下一頁</a><a href={0}?pageIndex={3}&pageSize={2}>末頁</a>",url, redirectPageIndex + 1, pageSize,pageCount));}sb.Append(string.Format("<span class='info'>第{0}頁/共{1}頁</span>", redirectPageIndex, pageCount));return sb.ToString();}

  

自己寫的,不足不怪

調用方法:

?

前臺傳遞

pageIndex:前臺當前要顯示的頁碼/當前被點擊的頁碼,例如1

pageSize:前臺當前要顯示的數據數量,例如10

totalCount:所有數據的總條數,例如后臺獲取到100條

url:參數將要被傳遞到哪個頁面/后臺程序內,例如"a.aspx",則會生成<a href="a.aspx?pageIndex=1&pageSize=10">1</a>,也可不傳(例如用在ajax異步無刷新分頁時,但要自己手動處理分頁中a標簽的href屬性,從中提取出pageIndex=1&pageSize=10)

pageLength:當前頁中想要顯示的頁碼數量,默認為5,例如當前數據庫中的數據每次在前臺展示10條,可以生成一共12個頁碼,傳入pageLength為5后,則每次只會在頁面上顯示5個頁碼.

?

轉載于:https://www.cnblogs.com/rbzz/p/8438639.html

總結

以上是生活随笔為你收集整理的Asp.Net分页控件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。