using System;
using System.Web;
public class Pager {
private int pageSize;// 第頁記錄數(shù):傳參設(shè)置
private int curPage;// 當(dāng)前頁:傳參設(shè)置
private int totalRecords;// 總記錄數(shù):傳參設(shè)置
private int prevPage;// 上一頁
private int nextPage;// 下一頁
private int pageNumbers;// 總頁數(shù)
private int curRecord;// 當(dāng)前記錄
public Pager(int pageSize, int curPage, int totalRecords) {
this.pageSize = pageSize;
this.curPage = curPage;
this.totalRecords = totalRecords;
setPageNumbers();
setPrevPage();
setNextPage();
setCurRecord();
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getCurPage() {
return curPage;
}
public void setCurPage(int curPage) {
this.curPage = curPage;
}
public int getTotalRecords() {
return totalRecords;
}
public void setTotalRecords(int totalRecords) {
this.totalRecords = totalRecords;
}
public int getPrevPage() {
return prevPage;
}
public void setPrevPage() {
if (curPage > 1)
prevPage = curPage - 1;
else
prevPage = curPage;
}
public int getNextPage() {
return nextPage;
}
public void setNextPage() {
if (curPage < pageNumbers)
nextPage = curPage + 1;
else
nextPage = curPage;
}
public int getPageNumbers() {
return pageNumbers;
}
public void setPageNumbers() {
if (totalRecords % pageSize != 0)
{
pageNumbers = totalRecords / pageSize + 1;
}
else
{
pageNumbers = totalRecords / pageSize;
}
pageNumbers = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(totalRecords) / Convert.ToDouble(pageSize)));
}
public int getCurRecord() {
return curRecord;
}
public void setCurRecord() {
curRecord = pageSize * (curPage - 1);
}
public string getPagerHTML(int numsPageSize,string url)
{
string q = HttpContext.Current.Request.QueryString.ToString();
string strq = "";
string[] arrq = q.Split('&');
if (arrq.Length > 0)
{
for (int i = 0; i < arrq.Length; i++)
{
string[]arrStrq = arrq[i].Split('=');
if (!arrStrq[0].Equals("page"))
{
if (!arrStrq[0].Equals(""))
{
if (strq.Trim().Equals(""))
{
strq = "?" + arrStrq[0] + "=" + arrStrq[1];
}
else
{
strq += "&" + arrStrq[0] + "=" + arrStrq[1];
}
}
}
}
}
if(strq.Equals("")){
url += strq + "?page=";
}else{
url += strq + "&page=";
}
string btnPrevPage = "<a href='" + url + prevPage + "'>上一頁</a>\n";
string btnNextPage = "<a href='" + url + nextPage + "'>下一頁</a>\n";
int firstNum;
if (curPage % numsPageSize == 0)
{
firstNum = (numsPageSize * (curPage / numsPageSize - 1)) + 1;
}
else
{
firstNum = (numsPageSize * (curPage / numsPageSize)) + 1;
}
string pageNumbersList="";
for (int i = firstNum; i < firstNum + numsPageSize; i++)
{
string p = i.ToString();
if (i == curPage) p = "<b style='color:red'>" + p + "</b>";
pageNumbersList += "<a href='" + url + i + "'>" + p + "</a>\n";
if (i >= getPageNumbers()) break;
}
string html = btnPrevPage + pageNumbersList + btnNextPage;
return html;
}
}
聯(lián)系客服