分页控件中的数字按钮计算方法

来源:互联网 发布:剑三小令狐伤捏脸数据 编辑:程序博客网 时间:2024/06/15 02:32

计算思想:

以当前页码为标杆,使用卡尺的思想,左移,右移,再左移,最后得到起始、结束位置的按钮页码。


@{    var param = new    {        Page = 18,   //当前页        NumberButton = 5,//数字按钮的个数        PageSize = 5,//分页数据量        Records = 94//总数据量    };}@{    /*****************     * Author : Kilin     * Datetime : 2015-05-08     * Email : zhang_7150@163.com     * Description : 在保证当前页码处于中间位置前提下,计算数字按钮的起始和结束位置     ******************/    int start = param.Page //开始按钮数字        , end = 1  //结束按钮数字        , pageCount = (int)Math.Ceiling((double)param.Records / (double)param.PageSize) //总页数        , offset = param.NumberButton / 2 //偏移量        ;    start -= offset;//计算左偏移量    start = start < 1 ? 1 : start;//限定最小页码    end = start + param.NumberButton - 1;//根据偏移计算结束按钮    end = end > pageCount ? pageCount : end;//限定最大页码    start = end - param.NumberButton + 1;//根据偏移计算开始页码    start = start < 1 ? 1 : start;//限定最小页码    }
0 0
原创粉丝点击