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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自己写的分页函数

發布時間:2025/5/22 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自己写的分页函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

using System;
using System.Collections.Generic;
using System.Text;

namespace Store.Common
{
??? public class Pager
??? {
??????? #region 生成分頁控件
??????? /// <summary>
??????? /// 獲取分頁碼
??????? /// </summary>
??????? /// <param name="PageUrl">當前請求的原始url,有時候會用到傳有參數的頁,下一步開始開發適合所有的頁面分頁</param>
??????? /// <param name="TotalCountRecord">需要顯示的總記錄數</param>
??????? /// <param name="PageItem">每頁需要顯示的記錄數</param>
??????? /// <param name="CurrentPage">當前頁碼</param>
??????? /// <param name="Pagenums">界面需要顯示多少頁碼</param>
??????? /// <returns>返回顯示在頁面上的分頁控件</returns>
??????? /// 說明:用戶可以根據自己的需要為頁碼間添加分隔符,可以控制選中頁的頁碼樣式
??????? /// 創建者:蔡萬國
??????? /// 修改時間;2007-9-30
??????? public StringBuilder MyPage(string PageUrl, int TotalCountRecord, int PageItem, int CurrentPage, int Pagenums)
??????? {

??????????? //偏移量
??????????? int LeftNum = (int)Math.Ceiling((double)(Pagenums) / 2);
??????????? int Step = LeftNum + 1;
??????????? int RightNum = Pagenums - LeftNum - 1;
??????????? //string PageUrl = Request.FilePath;
??????????? //一共有多少頁
??????????? int PageCount = (int)Math.Ceiling((double)(TotalCountRecord) / PageItem);
??????????? StringBuilder OutPut = new StringBuilder();
??????????? //選中的頁大于1就顯示上一頁
??????????? //if (CurrentPage > 1)
??????????? //{
??????????? //??? OutPut.Append("<a href='");
??????????? //??? OutPut.Append(PageUrl);
??????????? //??? OutPut.Append("&&page=");
??????????? //??? OutPut.Append(CurrentPage - 1);
??????????? //??? OutPut.Append("'>上一頁</a>");
??????????? //}

??????????? //如果頁數小于10就只輸出當前的10以內的標號
??????????? if (PageCount < Pagenums)
??????????? {
??????????????? for (int i = 1; i <= PageCount; i++)
??????????????? {
??????????????????? if (i == CurrentPage)
??????????????????? {
??????????????????????? //OutPut.Append("<font>");//控制控制選中頁的頁碼樣式
??????????????????????? //OutPut.Append("? ");//控制控制選中頁的頁碼樣式
??????????????????????? OutPut.Append(i.ToString());
??????????????????????? //OutPut.Append("? ");//控制控制選中頁的頁碼樣式
??????????????????????? //OutPut.Append("</font>");//控制控制選中頁的頁碼樣式
??????????????????? }
??????????????????? else
??????????????????? {
??????????????????????? OutPut.Append("<a href='");
??????????????????????? OutPut.Append(PageUrl);
??????????????????????? OutPut.Append("&page=");
??????????????????????? OutPut.Append(i.ToString());
??????????????????????? OutPut.Append("'>");
??????????????????????? //OutPut.Append(" ");//添加頁碼間的分隔符
??????????????????????? OutPut.Append(i.ToString());
??????????????????????? //OutPut.Append(" ");//添加頁碼間的分隔符
??????????????????????? OutPut.Append("</a>");
??????????????????? }
??????????????? }

??????????? }
??????????? //大于10就得加上省略號
??????????? else
??????????? {
??????????????? if (CurrentPage + RightNum < PageCount)//當不超過的時候
??????????????? {
??????????????????? if (CurrentPage - Step < 1)
??????????????????? {
??????????????????????? for (int i = 1; i <= Pagenums; i++)
??????????????????????? {
??????????????????????????? if (i == CurrentPage)
??????????????????????????? {
??????????????????????????????? //OutPut.Append("<font>");//控制控制選中頁的頁碼樣式
??????????????????????????????? //OutPut.Append("? ");//控制控制選中頁的頁碼樣式
??????????????????????????????? OutPut.Append(i.ToString());
??????????????????????????????? //OutPut.Append("? ");//控制控制選中頁的頁碼樣式
??????????????????????????????? //OutPut.Append("</font>");//控制控制選中頁的頁碼樣式
??????????????????????????? }
??????????????????????????? else
??????????????????????????? {
??????????????????????????????? OutPut.Append("<a href='");
??????????????????????????????? OutPut.Append(PageUrl);
??????????????????????????????? OutPut.Append("&page=");
??????????????????????????????? OutPut.Append(i.ToString());
??????????????????????????????? OutPut.Append("'>");
??????????????????????????????? //OutPut.Append(" ");//添加頁碼間的分隔符
??????????????????????????????? OutPut.Append(i.ToString());
??????????????????????????????? //OutPut.Append(" ");//添加頁碼間的分隔符
??????????????????????????????? OutPut.Append("</a>");
??????????????????????????? }
??????????????????????? }
??????????????????????? if (PageCount > Pagenums)
??????????????????????? {
??????????????????????????? OutPut.Append("...");
??????????????????????? }
??????????????????? }

??????????????????? else
??????????????????? {
??????????????????????? for (int i = CurrentPage - LeftNum; i <= CurrentPage + RightNum; i++)
??????????????????????? {
??????????????????????????? if (i == CurrentPage)
??????????????????????????? {
??????????????????????????????? //OutPut.Append("<font>");//控制控制選中頁的頁碼樣式
??????????????????????????????? //OutPut.Append("? ");//控制控制選中頁的頁碼樣式
??????????????????????????????? OutPut.Append(i.ToString());
??????????????????????????????? //OutPut.Append("? ");//控制控制選中頁的頁碼樣式
??????????????????????????????? //OutPut.Append("</font>");//控制控制選中頁的頁碼樣式
??????????????????????????? }
??????????????????????????? else
??????????????????????????? {
??????????????????????????????? OutPut.Append("<a href='");
??????????????????????????????? OutPut.Append(PageUrl);
??????????????????????????????? OutPut.Append("&page=");
??????????????????????????????? OutPut.Append(i.ToString());
??????????????????????????????? OutPut.Append("'>");
??????????????????????????????? //OutPut.Append(" ");//添加頁碼間的分隔符
??????????????????????????????? OutPut.Append(i.ToString());
??????????????????????????????? //OutPut.Append(" ");//添加頁碼間的分隔符
??????????????????????????????? OutPut.Append("</a>");
??????????????????????????? }
??????????????????????? }
??????????????????????? if (CurrentPage + RightNum < PageCount)
??????????????????????? {
??????????????????????????? OutPut.Append("...");
??????????????????????? }
??????????????????? }
??????????????? }
??????????????? else//當超過的時候
??????????????? {
??????????????????? for (int i = PageCount - Pagenums + 1; i <= PageCount; i++)
??????????????????? {
??????????????????????? if (i == CurrentPage)
??????????????????????? {
??????????????????????????? //OutPut.Append("<font>");//控制控制選中頁的頁碼樣式
??????????????????????????? //OutPut.Append("? ");//控制控制選中頁的頁碼樣式
??????????????????????????? OutPut.Append(i.ToString());
??????????????????????????? //OutPut.Append("? ");//控制控制選中頁的頁碼樣式
??????????????????????????? //OutPut.Append("</font>");//控制控制選中頁的頁碼樣式
??????????????????????? }
??????????????????????? else
??????????????????????? {
??????????????????????????? OutPut.Append("<a href='");
??????????????????????????? OutPut.Append(PageUrl);
??????????????????????????? OutPut.Append("&page=");
??????????????????????????? OutPut.Append(i.ToString());
??????????????????????????? OutPut.Append("'>");
??????????????????????????? OutPut.Append(" ");//添加頁碼間的分隔符
??????????????????????????? OutPut.Append(i.ToString());
??????????????????????????? OutPut.Append(" ");//添加頁碼間的分隔符
??????????????????????????? OutPut.Append("</a>");
??????????????????????? }

??????????????????? }
??????????????? }
??????????? }
??????????? //if (CurrentPage < PageCount)
??????????? //{
??????????? //??? OutPut.Append("<a href='");
??????????? //??? OutPut.Append(PageUrl);
??????????? //??? OutPut.Append("&&page=");
??????????? //??? OutPut.Append(CurrentPage + 1);
??????????? //??? OutPut.Append("'>下一頁</a>");
??????????? //}

??????????? return OutPut;

??????? }
??????? #endregion
??? }
}

轉載于:https://www.cnblogs.com/caiwanguo/archive/2007/10/22/932747.html

總結

以上是生活随笔為你收集整理的自己写的分页函数的全部內容,希望文章能夠幫你解決所遇到的問題。

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