计算思想:
以当前页码为标杆,使用卡尺的思想,左移,右移,再左移,最后得到起始、结束位置的按钮页码。
@{
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