using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
/// <summary>
/// Pagenumber
/// </summary>
public static class Pagenumber
{
/// <summary>
///
/// </summary>
public static string BuildPager(int totalRecords, int currentPage, int pageSize, int pid)
{
int alter = 4;
int startPage = 1;
int endPage = currentPage + alter;
int totalPages = CalculateTotalPages(totalRecords, pageSize);
if (currentPage > alter)
{
startPage = currentPage - alter;
}
if (endPage > totalPages)
{
endPage = totalPages;
}
string strTemp = @" <a href='Default.aspx?p={0}&pno={1}'>{2}</a> ";
StringBuilder sb = new StringBuilder("");
if (currentPage != startPage)
{
sb.Append(string.Format(strTemp, currentPage - 1, currentPage - 1, " "));
}
for (int i = startPage; i <= endPage; i++)
{
if (currentPage == i)
{
sb.Append(" <font color=red> " + i + " </font> ");
}
else
{
sb.Append(string.Format(strTemp, i, i, "[" + i + "]"));
}
}
if (currentPage != endPage)
{
sb.Append(string.Format(strTemp, currentPage + 1, currentPage + 1, " "));
}
return sb.ToString();
}
/**/ /// <summary>
///
/// </summary>
/// <param name="totalRecords"> </param>
/// <param name="pageSize"> </param>
public static int CalculateTotalPages(int totalRecords, int pageSize)
{
int totalPagesAvailable;
totalPagesAvailable = totalRecords / pageSize;
// C# 0, 1
if ((totalRecords % pageSize) > 0)
totalPagesAvailable++;
return totalPagesAvailable;
}
}
Demo2:
C#
/**//// <summary>
/// GOOGLE , , http://www.phpx.com/happy/viewthread.php?tid=99280&extra=&page=2, YourEyes
/// </summary>
/// <param name="total"> </param>
/// <param name="per"> </param>
/// <param name="page"> </param>
/// <param name="query_string">Url </param>
private string pagination(int total,int per,int page,string query_string)
{
int allpage=0;
int next=0;
int pre=0;
int startcount=0;
int endcount=0;
string pagestr="";
if(page<1){page=1;}
//
if (per != 0)
{
allpage = (total / per);
allpage = ((total % per) != 0 ? allpage + 1 : allpage);
allpage = (allpage == 0 ? 1 : allpage);
}
next=page+1;
pre=page-1;
startcount=(page+5)>allpage?allpage-9:page-4;//
//
endcount = page<5 ? 10 : page+5;
if(startcount<1) {startcount=1;} // , 1 1
if(allpage<endcount){endcount=allpage;}// +5 ,
pagestr=" "+ allpage +" ";
pagestr+=page>1 ? "<a href=\""+ query_string + "?page=1\"> </a> <a href=\""+ query_string +"?page="+ pre +"\"> </a>": " ";
// , ,
for(int i=startcount;i<=endcount;i++)
{
pagestr+=page==i?" <font color=\"#ff0000\">"+i+"</font>":" <a href=\""+ query_string +"?page="+ i +"\">"+ i +"</a>";
}
pagestr+=page!=allpage ? " <a href=\""+ query_string+"?page="+ next +"\"> </a> <a href=\""+ query_string +"?page="+ allpage+"\"> </a>" : " ";
return pagestr;
}