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;
/// <summary>
/// Summary description of LvEasyPager
/// </summary>
public class LvEasyPager
{
/// <summary>
/// Haha, the simplest paging, 2006.11.21
/// Normally I use my own paging control
/// But this time the situation is different, so I wrote a small function, using UL and LI tags, and you can define the style yourself.
/// ewebapp.cnblogs.com
/// www.lvjiyong.com
/// </summary>
public LvEasyPager()
{
//
// TODO: add constructor logic here
//
}
/// <summary>
/// The simplest paging
/// </summary>
/// <param name="url">Format URL,abc.com/page/{0}</param>
/// <param name="abs">Current page</param>
/// <param name="pageSize">Number of records per page</param>
/// <param name="total">Total number of records</param>
/// <returns></returns>
public static string Create(string url, int abs,int pageSize, int total)
{
if (total <= pageSize) return null;
string jiyong = string.Empty;
string urlFormat = @"<li class=""{0}"" ><a href=""{1}"" >{2}</a></li>";
string urlFormat2 = @"<li class=""{0}"" {3}>{2}</li>";
int pageNum = total / pageSize;
if (total % pageSize > 0) pageNum++;
//HttpContext.Current .Response.Write(pageNum.ToString());
//.Home page
if (abs <= 1)
{
//jiyong += "<li class="p10"><a href="" + string.Format(url, abs) + "">;
jiyong += string.Format(urlFormat2, "first", string.Format(url, "1"), "<a><<</a>", "disabled="true"");
}
else
{
jiyong += string.Format(urlFormat, "first", string.Format(url, "1"), "<<", "");
}
//Previous page
if (abs < 1) abs = 1;
if (abs == 1)
{
//jiyong += "<li class="p10"><a href="" + string.Format(url, abs) + "">;
jiyong += string.Format(urlFormat2, "pre", string.Format(url, (abs - 1).ToString()), "<a><</a>", "disabled="true"" );
}
else
{
jiyong += string.Format(urlFormat, "pre", string.Format(url, (abs-1).ToString()), "<", "");
}
//Loop
int pre = abs - 5;
if (pre <= 0)
{
pre = 1;
}
for (int i = pre; i < abs; i++)
{
jiyong += string.Format(urlFormat, "page", string.Format(url, i.ToString()), i.ToString(), "");
}
//Current page
jiyong += string.Format(urlFormat2, "abs", string.Format(url, abs.ToString()), "<a>" + abs.ToString() + "</a>", "disabled=" true"");
//loop next 5 pages
int next = abs + 5;
if (next > pageNum) next = pageNum;
for (int i = abs+1; i < next+1; i++)
{
jiyong += string.Format(urlFormat, "page", string.Format(url, i.ToString()), i.ToString(), "");
}
//Next page
if (abs == pageNum)
{
//jiyong += "<li class="p10"><a href="" + string.Format(url, abs) + "">;
jiyong += string.Format(urlFormat2, "pre", string.Format(url, (abs + 1).ToString()), "<a>></a>", "disabled="true"" );
}
else
{
jiyong += string.Format(urlFormat, "pre", string.Format(url, (abs + 1).ToString()), ">", "");
}
//.Last page
if (abs == pageNum)
{
//jiyong += "<li class="p10"><a href="" + string.Format(url, abs) + "">;
jiyong += string.Format(urlFormat2, "last", string.Format(url, pageNum.ToString()), "<a>>></a>", "disabled="true"");
}
else
{
jiyong += string.Format(urlFormat, "last", string.Format(url, pageNum.ToString()), ">>", "");
}
return jiyong;
}
}
http://www.cnblogs.com/ewebapp/archive/2006/11/30/577504.html