asp.net实现简单分页实例

  本文实例讲述了asp.net实现简单分页的方法。分享给大家供大家参考。

  具体实现方法如下:

  

复制代码 代码如下:
/// <summary>

  /// 分页内容

  /// </summary>

  /// <param name="size">页面大小</param>

  /// <param name="count">页面数量</param>

  /// <param name="currendIndex">当前页</param>

  /// <param name="pattern">url模式:demo.aspx?page={0}</param>

  /// <param name="target">窗口模式</param>

  /// <returns></returns>

  public static string get_pagenation(int size,

  int count,

  int currendIndex,

  string pattern,

  string target)

  {

  //1>打开窗口目标

  target = string.IsNullOrEmpty(target) ? "_top" : target;

  //2>总页数

  int pageCount = count / size;

  pageCount = pageCount * size == count ? pageCount : pageCount + 1;

  //3>分页内容

  StringBuilder strHtml = new StringBuilder();

  strHtml.Append("<span class='pagenation'>");

  #region 首部处理

  if (currendIndex > 1)

  {

  strHtml.AppendFormat("<a href='1' target='{0}'>[首页]</a>", target);

  strHtml.AppendFormat("<a href='{0}' target='{1}'>[上一页]</a>", string.Format(pattern, currendIndex - 1), target);

  }

  else

  {

  strHtml.Append("<span class='disabled'>[首页]</span>  <span class='disabled'>[上一页]</span>");

  }

  #endregion

  #region 中间部分

  int i = 1;

  int right = (currendIndex + 4) > pageCount ? pageCount : currendIndex + 4;

  if (currendIndex > 6)

  {

  i = currendIndex - 5;

  }

  else

  {

  right = pageCount >= 10 ? 10 : pageCount;

  }

  for (; i <= right; i++)

  {

  if (i == currendIndex)

  {

  strHtml.AppendFormat("<font class='current'>{0}</font>", i);

  strHtml.AppendLine();

  continue;

  }

  strHtml.AppendFormat("<a href='{0}' target='{1}'>[{2}]</a>", string.Format(pattern, i), target, i);

  strHtml.AppendLine();

  }

  #endregion

  #region 尾部处理

  if (currendIndex == pageCount)

  {

  strHtml.Append("<span class='disabled'>[下一页]</span><span class='disabled'>[末页]</span>");

  strHtml.AppendFormat("总共({0})页", pageCount);

  }

  else

  {

  strHtml.AppendFormat("<a href='{0}' target='{1}'>[下一页]</a>", string.Format(pattern, currendIndex + 1), target);

  strHtml.AppendFormat("<a href='{0}' target='{1}'>[末页]</a>", string.Format(pattern, pageCount), target);

  strHtml.AppendFormat("  <label>总共({0})页</label>", pageCount);

  }

  #endregion

  strHtml.Append("</span>");

  return strHtml.ToString();

  }

  希望本文所述对大家的asp.net程序设计有所帮助。