任何人都可以解释在我的场景中编写代码的最佳方式吗
我有一些表的数据库,我必须在页面中显示数据库中的数据(每页包含 20 行)
我正在做我的应用程序 - 我每次都从数据中检索 20 行数据,以便使用 SP 在每个页面中显示,每个页面点击我连接到数据库并将数据显示到前端页面。
我的想法是 - 在一次查询执行(单次迭代)中将完整数据获取到数据表中,并将数据存储在会话中并在每次页面点击中使用它。
这种方式是否正确?
哪个是获取每个页面点击数据的最佳方式。
如果检索到的数据量不大,那么是的 - 一次获取所有内容是一种方法。另一方面,如果它有数十万条记录,那么您当前的方法 - 服务器端分页是一个更好的选择。
只需在 Gridview 中显示数据,将 Datasource 设置为 SQLdatasoure 并在 Gridview 属性上设置 AllowPaging = "True" 和 PageSize = "20"。这会做到的。在 SQLDatasoure 上设置 EnableCaching ="True" 如果您不想为每个页面发出请求。
如果钱不是问题,我强烈建议您研究 DevExpress 或 Telerik 控制套件以及支持 IQueryable 的 ORM 工具。
DevExpress 和 Telerik 网格控件具有开箱即用的分页功能。将网格绑定到 IQueryable 肯定有助于提高性能。
这是一种不好的方法,因为您是按用户存储的,这意味着访问此页面的每个登录用户都可能拥有自己的所有数据副本。
做真正的自定义分页,而不是内置分页,它仍然获取整个数据集,然后一次显示一页,所以如果您需要在一页上显示 10 条记录,那么您只需询问您的数据存储(即数据库)10 条记录,仅此而已。它比一次调用更健谈,但您将更有效地使用内存,并且不会出现第一次加载整个数据集的延迟。