分頁控制元件中的數字按鈕計算方法
阿新 • • 發佈:2018-11-05
計算思想:
以當前頁碼為標杆,使用卡尺的思想,左移,右移,再左移,最後得到起始、結束位置的按鈕頁碼。
@{ var param = new { Page = 18, //當前頁 NumberButton = 5,//數字按鈕的個數 PageSize = 5,//分頁資料量 Records = 94//總資料量 }; } @{ /***************** * Author : Kilin * Datetime : 2015-05-08 * Email : [email protected]
* 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;//限定最小頁碼 }