用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c#代码库

分页查询方法2

2019-10-12 作者:云代码会员举报

[c#]代码库

/// <summary>
  /// 生成页码的html
  /// </summary>
  /// <param name="urlFormat">超链接的格式。list.ashx?pagenum={pageNum}。地址中用{pagenum}做为当前页码的占位符</param></param>
  /// <param name="totalSize">总数据条数</param>
  /// <param name="pageSize">每页多少条数据</param>
  /// <param name="currentPage">当前页</param>
  /// <returns></returns>
  public static RawString Pager(string urlFormat, long totalSize,
   long pageSize, long currentPage)
  {
   StringBuilder sb = new StringBuilder();
   //总页数
   long totalPageCount = (long)Math.Ceiling((totalSize * 1.0f) / (pageSize * 1.0f));
   //当前页的前几页
   long firstPage = Math.Max(currentPage - 5, 1);
   //当前页的后几页
   long lastPage = Math.Min(currentPage + 6, totalPageCount);
   //绘制分页,首页
   sb.AppendLine("<div><a href='" + urlFormat.Replace("{pageNum}", "1") + "'>首页</a>");
   //绘制分页中间数据部分
   for (long i = firstPage; i < lastPage; i++)
   {
    string url = urlFormat.Replace("{pageNum}", i.ToString());
    if (i == currentPage) //点击后就不显示超链接
    {
     sb.AppendLine("<a>" + i + "</a>");
    }
    else
    {
     sb.AppendLine("<a href='" + url + "'>" + i + "</a>");
    }
   }
   //显示最后一页
   sb.AppendLine("<a href='" + urlFormat.Replace("{pageNum}", totalPageCount.ToString()) + "'>末页</a></div>");
   return new RawString(sb.ToString());
  }


分享到:
更多

网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。