中间显示十个数字:
/// <summary>
/// 前台分页
/// </summary>
/// <param name="pagees">总条数</param>
/// <param name="pagesize">每页显示的条数</param>
/// <param name="pageIndex">当前页数</param>
/// <param name="pagename">页面名称</param>
/// <param name="startcount">中间数字页起始序号</param>
/// <param name="endcount">中间数字页终止序号</param>
/// <returns></returns>
public string GetPager(int pagees, int pagesize, int pageIndex, string pagename,int startcount,int endcount)
{
string RePager = string.Empty;
string pager = string.Empty;
int i = pagees;//获取总条数
int totalPageNum = (i + pagesize - 1) / pagesize;//一共的页数
int j = 0;//记录当前页
string FirstPager = string.Empty;//首页
string LastPager = string.Empty;//尾页
string NextPager = string.Empty;//下一页
string PrePager = string.Empty;//上一页
int next = 0;//记录下一页页码
int pre = 0;//记录上一页页码
for (j = 1; j <= totalPageNum; j++)
{
startcount = (pageIndex + 5) > totalPageNum ? totalPageNum - 9 : pageIndex - 4;//中间页起始序号
//中间页终止序号
endcount = pageIndex < 5 ? 10 : pageIndex + 5;
if (startcount < 1)
{
startcount = 1;
} //为了避免输出的时候产生负数,设置如果小于1就从序号1开始
if (totalPageNum < endcount)
{
endcount = totalPageNum;
}//页码+5的可能性就会产生最终输出序号大于总页码,那么就要将其控制在页码数之内
}
next = pageIndex + 1;
pre = pageIndex - 1;
//判断并进行越界处理
if (pre <= 0)
{
pre = 1;
}
if (next > totalPageNum)
{
next = totalPageNum;
}
for (j = startcount; j <= endcount; j++)
{
if (pageIndex == j)
{
pager += "<a href="+pagename+"?pager="+ j + "><span style=\"color:red\">" + j + "</span></a>|";
}
else
{
pager += "<a href="+pagename+"?pager=" + j + ">" + j + "</a>|";
}
}
FirstPager = "<a href="+pagename+"?pager=1> 首页</a>|";
LastPager = "<a href="+pagename+"?pager="+ totalPageNum + "> 尾页</a>|";
NextPager = "<a href="+pagename+"?pager="+ next + "> 下一页</a>|";
PrePager = "<a href="+pagename+"?pager="+ pre + "> 上一页</a>|";
RePager = FirstPager + PrePager + pager + NextPager + LastPager;//拼凑字符串
return RePager;
}
根据个人需求调用,传入参数案例:

页面:

效果:数字自动改变


网站地址:
浙公网安备 33010602011771号