我使用此代码在asp.net中分页Listview控件。
Paging ListView With DataPager
但我想使用skip并采取分页Listview。
我做了很多搜索,但找不到正确的答案
答案 0 :(得分:2)
要进行真正的自定义分页,只获取将在当前页面上显示的确切记录,那么您将需要使用某种形式的LINQ提供程序(LINQ to SQL,LINQ to Entities等),因为.Skip()
和.Take()
方法将无法提供该自定义分页上下文,而无法影响从数据库中检索数据的查询。
换句话说,当作为LINQ to Objects使用时,所有页面的总记录的整个列表上的.Skip()
和.Take()
的分页功率显着减弱,因为它将无法实现只提供一页数据。
简而言之,您需要确定要使用哪种LINQ to XYZ数据库功能,以便.Skip()
和.Take()
能够代表您真正执行高效的自定义分页。
如果您决定使用LINQ to SQL,那么您应该查看LinqDataSource class,特别是AutoPage property,因为这是对.Skip()
和{{的内置使用1}}您正在寻找的功能。