A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© sunrise2 高级黑马   /  2014-8-11 09:11  /  1033 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /// <summary>
  2. /// 分页内容
  3. /// </summary>
  4. /// <param name="size">页面大小</param>
  5. /// <param name="count">页面数量</param>
  6. /// <param name="currendIndex">当前页</param>
  7. /// <param name="pattern">url模式:demo.aspx?page={0}</param>
  8. /// <param name="target">窗口模式</param>
  9. /// <returns></returns>
  10. public static string get_pagenation(int size,
  11.                                     int count,
  12.                                     int currendIndex,
  13.                                     string pattern,
  14.                                     string target)
  15. {
  16.     //1>打开窗口目标
  17.     target = string.IsNullOrEmpty(target) ? "_top" : target;
  18.     //2>总页数
  19.     int pageCount = count / size;
  20.     pageCount = pageCount * size == count ? pageCount : pageCount + 1;
  21.     //3>分页内容
  22.     StringBuilder strHtml = new StringBuilder();
  23.     strHtml.Append("<span class='pagenation'>");

  24.     #region 首部处理
  25.     if (currendIndex > 1)
  26.     {
  27.         strHtml.AppendFormat("<a href='1' target='{0}'>[首页]</a>", target);
  28.         strHtml.AppendFormat("<a href='{0}' target='{1}'>[上一页]</a>", string.Format(pattern, currendIndex - 1), target);
  29.     }
  30.     else
  31.     {
  32.         strHtml.Append("<span class='disabled'>[首页]</span>  <span class='disabled'>[上一页]</span>");
  33.     }
  34.     #endregion

  35.     #region 中间部分
  36.     int i = 1;

  37.     int right = (currendIndex + 4) > pageCount ? pageCount : currendIndex + 4;
  38.     if (currendIndex > 6)
  39.     {
  40.         i = currendIndex - 5;
  41.     }
  42.     else
  43.     {
  44.         right = pageCount >= 10 ? 10 : pageCount;
  45.     }
  46.     for (; i <= right; i++)
  47.     {
  48.         if (i == currendIndex)
  49.         {
  50.             strHtml.AppendFormat("<font class='current'>{0}</font>", i);
  51.             strHtml.AppendLine();
  52.             continue;
  53.         }
  54.         strHtml.AppendFormat("<a href='{0}' target='{1}'>[{2}]</a>", string.Format(pattern, i), target, i);
  55.         strHtml.AppendLine();
  56.     }
  57.     #endregion

  58.     #region 尾部处理
  59.     if (currendIndex == pageCount)
  60.     {
  61.         strHtml.Append("<span class='disabled'>[下一页]</span><span class='disabled'>[末页]</span>");
  62.         strHtml.AppendFormat("总共({0})页", pageCount);
  63.     }
  64.     else
  65.     {
  66.         strHtml.AppendFormat("<a href='{0}' target='{1}'>[下一页]</a>", string.Format(pattern, currendIndex + 1), target);
  67.         strHtml.AppendFormat("<a href='{0}' target='{1}'>[末页]</a>", string.Format(pattern, pageCount), target);
  68.         strHtml.AppendFormat("  <label>总共({0})页</label>", pageCount);
  69.     }
  70.     #endregion

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

  72.     return strHtml.ToString();
  73. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马