最近正在学习Linq,看到分页这里的时候感觉真的很简单,可是又担心学着学习就把知识混在一起,不知道大家在刚学的时候是不是跟我一样,因为他有的地主真的太像SQL了
分页方式:
获取数据总条数: var Count = db.XXX.Count(); 如果要是以往的写法还得写 select count(*) from XXXX; 还得调用SQLHelper.cs类里面的方法才行,现在就这么一句话就搞定…… 汗额..
再使用Skip()和Take()方法进行分页
下面就把代码贴出来
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>
<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();
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();