[已解决问题] 求救----用LINQ实现分页控件的困惑!
提问时间: 2008-05-07 13:51
浏览:158 次
在LINQ中,IQueryable <T>接口和IEnumerable <T>接口都分别提供了Skip方法和Take方法,用来做分页非常合适.因此我就想用他们做一个分页控件,使用的时候只需提供数据源、GridView的ID、每页大小和起始页标即可.现在问题就出了在数据源上,要求用户提供一个什么类型的数据源呢,DataSet? 这样就失去了LINQ的意义.IQueryable <T>接口和IEnumerable <T>接口? T是可确定类型(已知类型)的话还可以,若T是匿名类型,如
var names = from name in T.Customer
            where name.NameID > 20
            order by name.NameID
            select new {CName = name.Name,CNameID = name.NameID};
怎么在分页控件中保存数据源呢?即怎么在分页控件中保存names呢?
一直很困惑,渴望得到大家的帮助,先谢谢了!

所有回答(1)
void BindData(int pagesize,int pageindex)
{
//pageindex从1开始
int skipCount = (pageindex-1) * pagesize;
var names = (from name in T.Customer 
            where name.NameID > 20 
            order by name.NameID 
            select new {CName = name.Name,CNameID = name.NameID}).Skip(skipCount).Take(pageisze)
repeater.datasource= names;
repeater.databind();
}

2个月前   回答者:菜无罪 - 菜鸟二级
评论
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除