Linq配合AspNetPager高效分页

最近正在学习Linq,看到分页这里的时候感觉真的很简单,可是又担心学着学习就把知识混在一起,不知道大家在刚学的时候是不是跟我一样,因为他有的地主真的太像SQL了

分页方式:

获取数据总条数: var Count = db.XXX.Count();   如果要是以往的写法还得写 select count(*) from XXXX; 还得调用SQLHelper.cs类里面的方法才行,现在就这么一句话就搞定……  汗额..

再使用Skip()和Take()方法进行分页

说明,引用至李永京博客想学Linq去他博客吧:

说明:Skip()跳过集合的前n个元素;延迟。即我们跳过给定的数目返回后面的结果集。 

说明:Take()获取集合的前n个元素;延迟。即只返回限定数量的结果集。

 

下面就把代码贴出来

Aspx页面代码片段:只有一个GridView和一个AspNetPager控件,没有其他的代码;

<div>
        
<asp:GridView ID="GridView1" runat="server">
        
</asp:GridView>
        
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" OnPageChanged="AspNetPager1_PageChanged"
            PageSize
="15" UrlPaging="True">
        
</webdiyer:AspNetPager>

     </div> 


后台代码:

            var Count = db.InBill.Count();
            AspNetPager1.RecordCount 
= Count;

            var paging 
= (from i in db.InBill
                          orderby i.InDate descending
                          select i).Skip(AspNetPager1.StartRecordIndex 
- 1).Take(AspNetPager1.PageSize);   //索引方式:分页操作;

            GridView1.DataSource 
= paging;
            GridView1.DataBind();
原文地址:https://www.cnblogs.com/zhuiyi/p/2064716.html