【问题标题】:Paging with Jquery in ASP.NET在 ASP.NET 中使用 Jquery 进行分页
【发布时间】:2010-12-07 19:52:09
【问题描述】:

我想通过 JQuery 在Repeater 中实现分页。 可能吗?如果是,那么我如何实现这一目标?

【问题讨论】:

  • 有人可以尝试解释如何实现这一点的概念,而不是仅仅指向一个插件吗?

标签: asp.net jquery pagination repeater


【解决方案1】:

也许您可以使用其中一种jQuery plugins?

【讨论】:

    【解决方案2】:

    tablesorter pager plugin 非常可爱,可以很好地与 tablesorter 排序功能配合使用。

    【讨论】:

    • 这是一个有趣的链接,但我不确定 TableSorter 是否可以用作中继器?您可以在 encosia.com/2008/06/26/… 看到客户端的转发器功能
    【解决方案3】:

    如果您想一次加载所有页面,请尝试this plugin。

    【讨论】:

      【解决方案4】:

      在服务器端,您必须更改“viewmodel” - 从数据库返回的记录以及一些额外信息:以便它包含另外三个变量:currentPage rowsPerPage 和 totalRows 用于查询。

      对于仅客户端的分页(调用数据库并获取所有行,然后每次显示不同的子集),您将向数据添加行号,并为 rowsPerPage 和当前页面设置一个变量。

      然后您必须制作分页“webcontrol”或使用 javascript/jquery 代码自己手动运行所有部分。分页控件通常有一个上一页 (>) 按钮、记录总数和下一页的数量,或带有可供选择的下拉列表的 CurrentPage 文本框。

      如果您在最后一页,则 NextPage 将被禁用。如果您在第一页,则与 PreviousPage 相同。通常,当前页码以某种方式标记(着色或以粗体书写)。

      每页的行数通常可以由用户设置,也许可以通过下拉菜单设置一些选项。此功能通常可以选择隐藏或设为只读。

      一旦进行页面更改,当前页码(从 1 开始)将更改,不会传递最后一个或第一个...并显示该页面的行。数学是:

       firstRowOnCurrentPage = (currentPage - 1) * rowsPerPage;
      

      最后一行最多为:

       maxLastRowOnCurrentPage =  firstRowOnCurrentPage + (rowsPerPage - 1) // if there are enough records, or the remaining records for the last page. 
      

      记录是通过 ajax 中的存储过程 SQL 调用检索的(在您的 Web 服务页面中,您有一个 GetWhatever(即 GetProducts 或在 NancyFX 中它只是一个 /Products 模块,而在 MVC 中是一个 /Products 控制器...)调用数据库并仅检索该数量的记录。您的转发器会自动重复此操作。

      See here for an MS SQL example 或here for a PHP and mySQL example。

      对于带有分页的仅客户端中继器,(即调用数据库一次,然后将结果提供给“数据库模型”对象,所有分页均使用此数据完成,无需第二次调用数据库)您将绑定到本地数组。

      最后但同样重要的是,仅对于客户端,您需要使用一组更新/刷新按钮来更新修改和删除的数据,或刷新。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多