【问题标题】:How to paging using Repeater Control? [closed]如何使用中继器控件进行分页? [关闭]
【发布时间】:2013-08-31 12:55:20
【问题描述】:

你能告诉我如何在 WebForms 应用程序中为中继器控件使用分页吗?我需要一个用于后页、下一页的链接以及每页的编号,例如。

<back>1,2,3,4....n<next>.

最好的方法是什么?我不想使用PagedDataSource,因为我的DB 中有很多数据,所以我想为每个页面调用我的DB,而不是在第一次选择时选择所有项目。

【问题讨论】:

    标签: c# asp.net repeater paging


    【解决方案1】:

    由于您不想使用 PagedDataSource,我建议您使用存储过程进行分页。您可以将 pageIndex、pageSize、sortBy、sortDirection(升序/降序)等分页详细信息传递给您的存储过程,然后您将只返回当前页面所需的数据,您可以使用这些数据来提供您的转发器DataTable或List&lt;MyDataClass&gt;的形式。

    对于分页控件,您可以使用下拉控件,您可以在存储过程中返回总行数(在应用分页之前),以便您可以使用数字1,2,3... 填充下拉列表等等。可能您可能需要将当前的pageIndex 保存在hidden field 中,单击下拉列表中的btnBack 或btnNext 或OnSelectedIndexChanged 事件后将更新该OnSelectedIndexChanged。

    我只是在描述我的想法的大致情况,我将参考以下链接获取可用于入门的代码 sn-ps:

    希望这些信息足以让您入门。也可能有一些更好的编程实践,因为我没有那么有经验,这是我可以推荐的。如果有人有更好的建议,请在下方评论。

    安东

    【讨论】:

    • 很好,我还要补充一点,如果使用 EF,你总是可以用 Skip() 和 Take() 来计算
    • 感谢您的回复,我看到了您发布的第一个链接,但不是很清楚,您能否将其他有关使用存储过程和 C# 示例代码进行分页的链接链接我?我找不到类似的东西。
    • @ezechiele2517 看看这个帖子,可能是存储过程here简单一点。还有here 我不想发布的广泛解决方案,因为它可能会让您感到困惑。 C# 部分应该在您调用存储过程时(就像您使用实体框架的方法一样)并可能将结果作为 DataTable 取回。
    • 我也找到了这个解决方案:aspsnippets.com/Articles/… 但我需要自定义分页器以显示类似的内容:1,2,3,...(带点) 可以你帮我做吗?
    猜你喜欢
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多