123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace LYFZ.WXLibrary
- {
- public class PageTabList
- {
- /// <summary>
- /// 分页函数
- /// 总页数,总记录数,当前页,每页记录数
- /// </summary>
- public static string GetPagingInfo_Web(int byPageCount, int byPageNum, string countInfo="")
- {
- string vBaseUrl = System.Web.HttpContext.Current.Request.Url.PathAndQuery;
- string rUrl = CommonHandleClass.Fun_AddQueryToURL(vBaseUrl, "page", "{page}");
- //获取左右数量
- int i;
- int j;
- int loopnum1;
- int loopnum2;
- loopnum1 = 3; //前面数量
- loopnum2 = 3; //后面数量
- i = byPageNum - loopnum1;
- j = byPageNum + loopnum2;
- if (i < 1)
- {
- j = j + (1 - i);
- i = 1;
- }
- if (j > byPageCount)
- {
- i = i + (byPageCount - j);
- j = byPageCount;
- if (i < 1)
- {
- i = 1;
- }
- }
- //主要链接
- string firstlink;
- string lastlink;
- string prelink;
- string nextlink;
- firstlink = "<a href=\"" + CommonHandleClass.Fun_RemoveQueryFromURL(vBaseUrl, "page") + "\">首页</a>"; //首页
- prelink = "<a href=\"" + rUrl.Replace("{page}", (byPageNum - 1).ToString()) + "\">上一页</a>"; //上一页
- nextlink = "<a href=\"" + rUrl.Replace("{page}", (byPageNum + 1).ToString()) + "\">下一页</a>"; //下一页
- lastlink = "<a href=\"" + rUrl.Replace("{page}", byPageCount.ToString()) + "\">尾页</a>"; //尾页
- //上一页链接判断
- if (byPageNum == 2)
- {
- prelink = "<a href=\"" + CommonHandleClass.Fun_RemoveQueryFromURL(vBaseUrl, "page") + "\">上一页</a>";
- }
- //第一页无首页及上一页
- if (byPageNum == 1)
- {
- firstlink = "";
- prelink = "";
- }
- // 最后一页无下一页及尾页
- if (byPageNum == byPageCount)
- {
- lastlink = "";
- nextlink = "";
- }
- //不足一次显示数量就不显示首页及尾页
- if (byPageCount <= loopnum1 + loopnum2 + 1)
- {
- firstlink = "";
- lastlink = "";
- }
- //返回链接
- string looplink = "";
- string thislink;
- //int p = 0;
- for (int p = i; p <= j; p++)
- {
- if (p == byPageNum)
- {
- thislink = "class=\"nowpage\"";
- }
- else
- {
- thislink = "";
- }
- if (p == 1)
- {
- looplink = looplink + "<a href=\"" + CommonHandleClass.Fun_RemoveQueryFromURL(vBaseUrl, "page") + "\" " + thislink + ">1</a>";
- }
- else
- {
- looplink = looplink + "<a href=\"" + rUrl.Replace("{page}", p.ToString()) + "\" " + thislink + ">" + p + "</a>";
- }
- }
- return "<div class=\"page_css\">" + countInfo + firstlink + prelink + looplink + nextlink + lastlink + "</div>";
- }
- /// <summary>
- /// 分页函数
- /// int byPageCount, int byPageNum, int byPageSize
- /// </summary>
- public static string GetPagingInfo_Manage(int byPageCount, int byPageNum, string countInfo = "")
- {
- string vBaseUrl = System.Web.HttpContext.Current.Request.Url.PathAndQuery;
- string rUrl = CommonHandleClass.Fun_AddQueryToURL(vBaseUrl, "page", "{page}");
- //获取左右数量
- int i;
- int j;
- int loopnum1;
- int loopnum2;
- loopnum1 = 4; //前面数量
- loopnum2 = 5; //后面数量
- i = byPageNum - loopnum1;
- j = byPageNum + loopnum2;
- if (i < 1)
- {
- j = j + (1 - i);
- i = 1;
- }
- if (j > byPageCount)
- {
- i = i + (byPageCount - j);
- j = byPageCount;
- if (i < 1)
- {
- i = 1;
- }
- }
- //主要链接
- string firstlink;
- string lastlink;
- string prelink;
- string nextlink;
- string morefirstlink;
- string morenextlink;
- firstlink = "<a href=\"" + CommonHandleClass.Fun_RemoveQueryFromURL(vBaseUrl, "page") + "\">首页</a>"; //首页
- morefirstlink = "<a href=\"" + rUrl.Replace("{page}", (i - 1).ToString()) + "\">...</a>";
- prelink = "<a href=\"" + rUrl.Replace("{page}", (byPageNum - 1).ToString()) + "\">上一页</a>"; //上一页
- nextlink = "<a href=\"" + rUrl.Replace("{page}", (byPageNum + 1).ToString()) + "\">下一页</a>"; //下一页
- morenextlink = "<a href=\"" + rUrl.Replace("{page}", (j + 1).ToString()) + "\">...</a>";
- lastlink = "<a href=\"" + rUrl.Replace("{page}", byPageCount.ToString()) + "\">尾页</a>"; //尾页
- //上一页链接判断
- if (byPageNum == 2)
- {
- prelink = "<a href=\"" + CommonHandleClass.Fun_RemoveQueryFromURL(vBaseUrl, "page") + "\">上一页</a>";
- }
- //第一页无首页及上一页
- if (byPageNum == 1)
- {
- firstlink = "";
- prelink = "";
- }
- // 最后一页无下一页及尾页
- if (byPageNum == byPageCount)
- {
- lastlink = "";
- nextlink = "";
- }
- //不足一次显示数量就不显示首页及尾页
- if (byPageCount <= loopnum1 + loopnum2 + 1)
- {
- firstlink = "";
- lastlink = "";
- }
- if (byPageNum - loopnum1 < i || i - 1 == 0)
- {
- morefirstlink = "";
- }
- if (j - loopnum2 < byPageNum || j + 1 > byPageCount)
- {
- morenextlink = "";
- }
- //返回链接
- string looplink = "";
- string thislink;
- //int p = 0;
- for (int p = i; p <= j; p++)
- {
- if (p == byPageNum)
- {
- thislink = "class=\"cpb\"";
- }
- else
- {
- thislink = "";
- }
- if (p == 1)
- {
- looplink = looplink + "<a href=\"" + CommonHandleClass.Fun_RemoveQueryFromURL(vBaseUrl, "page") + "\" " + thislink + ">1</a>";
- }
- else
- {
- looplink = looplink + "<a href=\"" + rUrl.Replace("{page}", p.ToString()) + "\" " + thislink + ">" + p + "</a>";
- }
- }
- return "<div class=\"page_css\">" + countInfo + firstlink + prelink + morefirstlink + looplink + morenextlink + nextlink + lastlink + "</div>";
- //return "";
- }
- }
- }
|