linq怎么分页
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linq怎么分页相关的知识,希望对你有一定的参考价值。
linq怎么分页
你然你说到分页,那应该是使用了数据绑定控件吧?比如gridview之类的。这种情况下我建议你用LinqDataSource,把GridView的DatasourceID设置成LinqDataSource的实例,然后在LinqDataSource的设置里(把鼠标放到LinqDataSource控件上,会出现一个小三角,点它)把“启用分页”选上就可以了。
如果你的查询语句比较复杂,可以自己重写LinqDataSource的Selecting事件,在事件方法的最后加上e.result = 你的Linq查询结果。 参考技术A 我的意见是使用 存储过程分页! 写个分页的存储过程!
LINQ 调用! 给个分页的写法!
USE [QCRLDB]
GO
/****** Object: StoredProcedure [dbo].[GetPicGroupByPage] Script Date: 01/14/2011 12:05:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[GetPicGroupByPage]
(
@pageSize int,
@pageNum int,
@totalNum int out,
@totalCount int out
)
as
begin
select @totalCount=COUNT(ID) from PicGroup where RID is null
if @totalCount>0
begin
if @totalCount % @pageSize=0
begin
set @totalNum=@totalCount/@pageSize
end
else
begin
set @totalNum=@totalCount/@pageSize+1;
end
if @pageNum>@totalNum begin set @pageNum=@totalNum end
if @pageNum<1 begin set @pageNum=1 end
select Top (@pageSize) * from picGroup
where (RID is null) and ID not in (select top ((@pageNum-1) * @pageSize) id from picGroup where RID is null order by id desc) order by id desc
end
else
begin
set @totalCount=0;
set @totalNum=0;
select * from picGroup
end
end本回答被提问者采纳
Linq语句分页的使用
var list_Subject_set = list_Subject.Skip(iPageSize * iPageIndex).Take(iPageSize).ToList();
iPageSize:一页显示多少行;
iPageIndex:页数
以上是关于linq怎么分页的主要内容,如果未能解决你的问题,请参考以下文章