中间显示十个数字:

/// <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;
}

在这里插入图片描述根据个人需求调用,传入参数案例:
在这里插入图片描述
页面:
在这里插入图片描述
效果:数字自动改变
在这里插入图片描述
在这里插入图片描述
网站地址:在这里插入图片描述

posted on 2019-12-03 10:58  豆皮没有豆  阅读(227)  评论(0)    收藏  举报