位置:海鸟网 > IT > ASP.NET >

最简单的asp.net分页

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>
/// LvEasyPager 的摘要说明
/// </summary>
public class LvEasyPager
{
  /// <summary>
  /// 呵呵,最简单的分页,2006.11.21
  /// 普通情况下我用自己的分页控件
  /// 但这次情况不一样,所以写了一个小函数,用UL,LI标签,样式就自己定义吧
  /// ewebapp.cnblogs.com
  ///
  /// </summary>
  public LvEasyPager()
  {
    //
    // TODO: 在此处添加构造函数逻辑
    //
  }
  /// <summary>
  /// 最简单的分页
  /// </summary>
  /// <param name="url">格式化URL,abc.com/page/{0}</param>
  /// <param name="abs">当前页</param>
  /// <param name="pageSize">每页记录数</param>
  /// <param name="total">总记录数</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());

    //.首页

    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"), "<<", "");
    }

    //上一页

    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(), "");
    }


    //当前页
    jiyong += string.Format(urlFormat2, "abs", string.Format(url, abs.ToString()), "<a>" + abs.ToString() + "</a>", "disabled="true"");

    //loop下5页
    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(), "");
    }


    //下一页

    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()), ">", "");
    }


    //.尾页

    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;
  }
}