【发布时间】:2011-09-17 08:49:38
【问题描述】:
我使用了GridView 分页和高效分页。这意味着只需从数据库中提取所需的记录。 GridView 的高效分页只适用于标记。当你使用代码隐藏来控制分页机制时,它就不再有效了。
是否有任何 ASP.NET 控件支持通过代码进行高效分页?
【问题讨论】:
标签: asp.net gridview paging custom-paging
我使用了GridView 分页和高效分页。这意味着只需从数据库中提取所需的记录。 GridView 的高效分页只适用于标记。当你使用代码隐藏来控制分页机制时,它就不再有效了。
是否有任何 ASP.NET 控件支持通过代码进行高效分页?
【问题讨论】:
标签: asp.net gridview paging custom-paging
如果您想完全控制数据访问,您应该计划编写自己的存储过程,该过程接受其他参数(通常是过滤条件)、PageSize 和 PageIndex。
那么无论您在用户界面中使用什么组件,在调用数据库时您都需要指定页面索引和页面大小。
我相信 LINQ to SQL 和 MS Entity Framework 也能够以某种方式为您做到这一点,重点不仅在于 UI 控件,还在于从数据库到 UI 的整个链,通过业务逻辑和服务层(如果存在)。
像 Telerik 和 DevXpress 这样的组件供应商有他们自己的网格控件,其中一些逻辑已经实现,查看这个链接并向下滚动到最后,他们展示了如何以分页方式从数据库加载数据的图表,你在左边看到的是经典的网格控件,它加载所有数据并且只在用户界面中显示一页,在右边你看到你正在寻找的内容和不同的细节(我不喜欢必须的限制例如,使用 DevXpress 中的 XPO 作为 ORM),您应该也可以使用不同的组件和技术(如 LINQ、EF...)来做到这一点
http://www.devexpress.com/Products/NET/Controls/ASP/Grid/server-mode.xml
【讨论】:
sp 和NHibernate 查询分页数据。它们都接受分页所需的参数。
我找到了一个控件:DataGrid。它按我的意愿工作。
【讨论】: