【发布时间】:2014-04-11 16:07:45
【问题描述】:
我需要你的帮助。 如何使用 c# 在 asp.net 的 3 轮胎应用程序中浏览记录? 假设我将记录集从数据访问层返回到我的 UI 层,那么像下一个、上一个、第一个和最后一个记录一样导航它的更好方法是什么。
提前致谢
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4
我需要你的帮助。 如何使用 c# 在 asp.net 的 3 轮胎应用程序中浏览记录? 假设我将记录集从数据访问层返回到我的 UI 层,那么像下一个、上一个、第一个和最后一个记录一样导航它的更好方法是什么。
提前致谢
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4
您应该对数据访问采用记录分页策略,即一次在 N 行的页面中检索数据,并允许从任意偏移量检索来自查询的数据(即,您不应该持有数据库资源,例如当用户决定下一步做什么时,连接或光标打开)。
客户端本身将需要维护这种状态(即用户正在查看的当前页面存储在浏览器中),例如用户当前正在浏览的记录/页面。
每次用户导航到新页面时,您都需要从中获取适当的数据批次,并记住任何适用的过滤器(页码、页面大小和开始记录是这里的常用模型)。
您还没有提到您使用的是哪个数据库,但大多数 RDBMS 系统都有分页友好功能,例如 OFFSET 和 LIMIT(甚至 Sql Server 2012 现在也有 OFFSET / FETCH NEXT N ROWS)。然后,基于Linq 的 ORM 将这些易于使用的分页函数分别公开为 Skip() and Take()。
【讨论】: