using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LYFZ.WXLibrary
{
public class PageTabList
{
///
/// 分页函数
/// 总页数,总记录数,当前页,每页记录数
///
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 = "首页"; //首页
prelink = "上一页"; //上一页
nextlink = "下一页"; //下一页
lastlink = "尾页"; //尾页
//上一页链接判断
if (byPageNum == 2)
{
prelink = "上一页";
}
//第一页无首页及上一页
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 + "1";
}
else
{
looplink = looplink + "" + p + "";
}
}
return "
" + countInfo + firstlink + prelink + looplink + nextlink + lastlink + "
";
}
///
/// 分页函数
/// int byPageCount, int byPageNum, int byPageSize
///
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 = "首页"; //首页
morefirstlink = "...";
prelink = "上一页"; //上一页
nextlink = "下一页"; //下一页
morenextlink = "...";
lastlink = "尾页"; //尾页
//上一页链接判断
if (byPageNum == 2)
{
prelink = "上一页";
}
//第一页无首页及上一页
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 + "1";
}
else
{
looplink = looplink + "" + p + "";
}
}
return "" + countInfo + firstlink + prelink + morefirstlink + looplink + morenextlink + nextlink + lastlink + "
";
//return "";
}
}
}