自己写的分页函数
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
總結
 
                            
                        - 上一篇: 如何成为领袖? 学习任正非小沃森郭士纳
- 下一篇: 关于xsd问题
