【问题标题】:how to implement pager in asp.net C# [closed]如何在asp.net C#中实现寻呼机[关闭]
【发布时间】:2012-03-15 07:29:12
【问题描述】:

如何在 asp.net C# 中实现数据分页器,如下图所示?

【问题讨论】:

  • 如果你得到你想要的信息,别忘了点赞并将答案标记为已接受

标签: c# asp.net pager


【解决方案1】:

你可以使用 Cutome 分页,而且你可以做到这一点,谷歌上没有可用的示例......

这是给你的:http://www.dotnetspeaks.com/DisplayArticle.aspx?ID=55#

【讨论】:

  • 这个链接现在失效了:(
【解决方案2】:

我不知道你是否使用 MVC,但当我使用此工具时: http://blogs.taiga.nl/martijn/2008/08/27/paging-with-aspnet-mvc/ 这对我来说非常好。

【讨论】:

    【解决方案3】:

    您也可以使用 LINQ 来实现分页:

    paging example

    【讨论】:

      【解决方案4】:
      public class PagingInfo
      {
          public int TotalItems { get; set; }
          public int ItemsPerPage { get; set; }
          public int CurrentPage { get; set; }        
          public int TotalPages
          {
              get { return (int)Math.Ceiling((decimal)TotalItems / ItemsPerPage); }
          }
          public int TotalDisplayPages { get; set; }
      }
      

      然后在下面提到的 pagingHelper 中使用这个类..

      public static MvcHtmlString PageLinks(this HtmlHelper html,PagingInfo pagingInfo,Func<int,string>pageUrl)
          {
              var result = new StringBuilder();
              var start = pagingInfo.CurrentPage > 1 ? pagingInfo.CurrentPage - 1:pagingInfo.CurrentPage;
              var end = start + pagingInfo.TotalDisplayPages;
              for (var i = start; i <= end; i++)
              {
                  var tag = new TagBuilder("a");                
                  // Construct an <a> tag
                  tag.MergeAttribute("href", "");
      
                  tag.InnerHtml = (i).ToString();
                  if (i == pagingInfo.CurrentPage)
                      tag.AddCssClass("selected");
                  result.AppendLine(tag.ToString());
              }
              return MvcHtmlString.Create(result.ToString());
          }
      

      【讨论】:

        【解决方案5】:

        您可以按行号选择行集 http://support.microsoft.com/kb/186133 通过获取整个行数,您可以确定需要多少页 之后没有太多的编程 JS C# 和 CSS 你会比图像更好

        【讨论】:

        • 嗨,谢谢你的回复 我需要类似 Last >> Last >> 你重定向我的方式是 Last >> 我只想在 Paging 中显示 3 个按钮...
        • 我的朋友它只是“切换案例”场景,如果 Pages >3 只显示当前页码和另外 2 个数字,我在网站上使用了这种方法并且它运行良好!!
        • 我无法做到这一点..:(你能发布一个代码吗?thx
        • sql : select rank() OVER (ORDER BY a.au_lname, a.au_fname) as rank,name from student where rank 5 /* 取决于当前页面 */ ____________________________________ asp/C# 以一种快速的方式(我回家后会检查它)... if (currentPage==1) startPageNumber=1; if (currentPage==LastPageNumber) startPage=LastPageNumber-2; if (LastPageNumber
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-19
        • 2021-03-03
        • 1970-01-01
        • 2011-07-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多