分页时如何处理较大的选择集

时间:2019-05-16 08:29:52

标签: javascript jquery asp.net-mvc datatables server-side

我正在使用文档管理平台。用户可以将文档上传到Web应用程序,编辑其元数据并执行任务(例如,通过电子邮件将文档发送给收件人)。

我们的用户需要能够从搜索结果中选择任意数量的文档。他们可以一个接一个地选择文档,或单击“全选”按钮。我们可能谈论的是要选择的成千上万的文档。

搜索文档时,我们在Datatables表中显示分页结果。这意味着在为任务选择文档时,我们需要将选择集存储在某个位置,因为数据表仅了解当前正在显示的行。目前,我们将文档的GUIDS存储在隐藏的页面元素中。

这被证明是不够的,因为我们在使用这种方法时遇到了问题: -选择所有文档时,可能存在并发问题。如果在用户进行搜索并计划任务之间又上传了更多符合当前搜索条件的文档,该怎么办?这可能会导致文档意外处理。 -如果在所有GUID选择“全选”时将所有GUID发送给客户端(以避免上面的并发问题),则列表可能太大而无法作为JSON对象发送。 -也可能发生相反的情况:如果客户端的列表太大而无法发送到服务器怎么办?

我的问题是:什么是更好的库存和处理大型用户选择集的方法?

1 个答案:

答案 0 :(得分:0)

我发现您可以在ASP.Net making use of GZip or Deflate中压缩响应数据。 因此,我能够发送大数据集,没问题。