我正在用.NET进行MVC Web项目,这是一种思考显示列表和分页的最佳方法。我有3个选择
选项1将使用AJAX一次获取所有数据,而表js将处理分页本身。我们不必担心分页,但是如果要处理的数据量很大,明智的做法是使用此???,因为每次它将加载所有数据。
选项2将仅获得需要显示的数据(按设置设置),但是每次可能会向服务器端触发请求时(这将在控制器级别IPagedList中管理分页)
选项3还将仅从数据库级别获取我们需要的数据。与选项2相同,const服务器将请求每个页面更改。
那么什么是最佳选择,我们必须考虑两种情况。那将是大数据集还是小数据集。
执行此操作的最佳方法是什么?欣赏任何解释吗?
答案 0 :(得分:1)
一个明显的解决方案是使用选项2。但是,用户可以在其中配置每页的记录,这样,如果每页的记录较少,则它将立即加载到浏览器中,并快速从服务器中提取数据。用户永远不会准备尽快看到他们想要的结果。
如果要提供排序功能,在这里还需要注意网格中的排序。意味着您需要对整个数据集而不是仅对当前数据集进行排序。
此外,您还可以在网格上提供过滤器。同样,您需要过滤整个数据集。
因此,这种方法将适用于小型数据集和大型数据集两种情况。
答案 1 :(得分:0)
根据您的选择,
- 我可以使用Jquery Tables(数据表JS)显示该表。
Datatable
是一个非常不错的选择,它具有更多其他功能,例如过滤器,搜索,排序,信息等。
根据数据集的大小,应在客户端实现和服务器端实现之间进行选择。如果您的行数少于4000,建议您在客户端使用数据表。
但是,如果您的数据集非常庞大,请确保对数据表使用服务器端实现。
这里的link提供了如何为datatable
答案 2 :(得分:0)
我想总是总是最好只加载您需要的数据。为什么要加载根本不可见的数据?
请考虑是否让GUI框架在客户端上处理分页:
考虑考虑自己是否可以分页:
因此,您应该采取的措施高度取决于数据,基础架构和受众。
在Pagination: Server Side or Client Side?上提到了更多的优点