【问题标题】:Asp.net Listview server side paginationAsp.net Listview 服务器端分页
【发布时间】:2010-02-05 06:51:11
【问题描述】:

我的情况是我将在我的服务器中上传一些 csv 格式的数据,这将有超过 60k 条记录。并且列号可能会更改文件到文件,现在我的问题是我想在列表视图中显示它的内容,并带有分页。而且我不想将整个数据下载到客户端,我希望仅在需要时检索数据。

如何使用 listview 和 datapager 做到这一点?我知道 datapager 只支持 linqdatasource 用于服务器端分页?还有其他可能性吗?或对此的建议

提前致谢

【问题讨论】:

    标签: listview pagination objectdatasource linqdatasource datapager


    【解决方案1】:

    如果您将 CSV 导入到表格中,您会发现它更容易使用,并且比直接处理 CSV 快得多。如何做到这一点的例子是CodeProject

    然后您可以使用server side paging 来翻阅这些记录以提高效率。

    更新: 如果 CSV 与定义的模式匹配,那么您将不会动态创建表。我有两张桌子。一个用于存储对文件的引用(uniqueId、文件名/路径、UserId),另一个用于存储 FileItems(您的架构加上 File.UniqueId 外键)。这样,您可以将文件锁定给正在访问它的用户。锁定和并发问题是另一回事,有很多方法可以解决这个问题。

    如果您想直接对 CSV 文件中的 60k 记录执行操作,您会发现它很慢。除非您从 CSV 缓存数据集并针对缓存工作,否则无法解决此问题。对我来说,数据库存储是比缓存更好的媒介。它还为您提供了正在执行的历史记录,此外,如果您在网格中工作时出现任何错误,您可以将数据持久保存在数据库中,而无需重新上传 CSV 文件。

    【讨论】:

    • 谢谢,但问题是我必须动态创建表、加载数据和获取,而且当多个用户访问时可能会造成更多麻烦
    猜你喜欢
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多