【问题标题】:Repeater control paging中继器控制寻呼
【发布时间】:2010-08-02 18:24:59
【问题描述】:

我有一个包含 cmets 的中继器控件。我即将对其实现 ajax 分页。我选择(有条件地)使用更新面板来做这件事,但我想它在生产环境中会变得有点慢(每次大约有 20 行可见)。

你们对如何做到这一点还有其他想法吗?我想保留转发器控件,因为它还包含其他控件,所以我不能使用 js(模板)/json 方法。

【问题讨论】:

    标签: c# asp.net paging


    【解决方案1】:

    在存储过程中进行分页。您可以使用带有 ROW_NUMBER() 函数的公用表表达式将结果限制为 20 行。使用更新面板可能比仅异步传递 JSON 数据要慢一些,但它与 Repeater 控件配合得很好。

    【讨论】:

    • 谢谢,我会这样做并使用中继器控件。我看到你可以在禁用视图状态时让它变得非常快。这将是页面中唯一的更新面板,所以猜它会没事的。谢谢并保重
    • 这是一个使用 Transact-SQL 进行分页的快速示例: ;WITH Contacts_CTE AS ( SELECT Id, ROW_NUMBER() OVER(ORDER BY LastName) AS RowNum FROM Contacts ) SELECT Id, FirstName, LastName FROM Contacts C INNER JOIN Contacts_CTE CTE ON C.Id = CTE.Id WHERE RowNum BETWEEN 1 AND 20 您可以轻松创建参数来更改硬编码的 1 和 20 以使用 PageIndex 和 PageCount 变量。
    • 谢谢老哥,让它工作。毕竟已经变得相当快了。
    猜你喜欢
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 2015-10-24
    相关资源
    最近更新 更多