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();

 

你可能感兴趣的:(PAGER)