使用Linq在Gridview中进行分页

时间:2011-11-23 17:08:49

标签: c# asp.net linq gridview paging

我知道我在SO中列出了各种其他问题的类型,但我认为我的问题与现有问题完全不同,或者我的方法不同。

我有一个表调用tblListing,其中有108列,其中我有170000个记录并且正在增加。在我的管理部分,我要拔出20列。但问题是它需要花费一分多钟才能在gridview中显示。

早些时候,我使用数据表来显示记录,但页面和系统变得非常迟缓。现在我应用了LINQ,并使用.Take(20),但它只显示了20条记录。

所以我想在分页时一次加载20条记录。

请帮忙。任何示例代码或refence都将受到高度赞赏。

1 个答案:

答案 0 :(得分:3)

看来这篇关于Paging With LINQ的文章可能对您有所帮助:

以下是相关代码:

public static class PagingExtensions
{
    //used by LINQ to SQL
    public static IQueryable<TSource> Page<TSource>(this IQueryable<TSource> source, int page, int pageSize)
    {
        return source.Skip((page - 1) * pageSize).Take(pageSize);
    }

    //used by LINQ
    public static IEnumerable<TSource> Page<TSource>(this IEnumerable<TSource> source, int page, int pageSize)
    {
        return source.Skip((page - 1) * pageSize).Take(pageSize);
    }
}