Linq配合AspNetPager高效分页

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

分页方式:

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

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

 

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

http://www.cnblogs.com/lyj/

说明: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();

 

时间: 2024-09-20 21:21:01

Linq配合AspNetPager高效分页的相关文章

Linq配合AspNetPager高效分页方法

Linq配合AspNetPager高效分页方法   分页方式: 获取数据总条数: var Count = db.XXX.Count();   如果要是以往的写法还得写 select count(*) from XXXX; 还得调用SQLHelper.cs类里面的方法才行,现在就这么一句话就搞定--  汗额.. 再使用Skip()和Take()方法进行分页   说明:Skip()跳过集合的前n个元素:延迟.即我们跳过给定的数目返回后面的结果集. 说明:Take()获取集合的前n个元素:延迟.即只返

使用AspNetPager高效分页..

第三方控件下载地址:http://www.webdiyer.com/Controls/AspNetPager/Downloads   实现最基本的高效分页 需要两个存储过程,第一个是获取全部数据数量的SQL,第二个是分页用的SQL语句了  先上SQL代码:分页用的存储过程    CREATE PROCEDURE Proc_GridView_Pager    @startIndex int,    @endIndex intASBEGIN    select * from (    select 

毕业项目求个c#高效分页的代码

问题描述 毕业项目求个c#高效分页的代码 最好不要存储过程,最好都是后台代码,网上都是存储过程,求大神给下 解决方案 网上查找了一下,还是有不少源代码可以参考的: C#高效分页代码(不用存储过程) C#高效分页代码(不用存储过程) 解决方案二: 存储过程比较简单嘛.代码中只要传个页码就搞定了,难道不好. 不要存储过程,那就直接写sql,或者用linq. 解决方案三: RowNumber写法,MSSQL2012新出了个offset写法,更简单 SELECT tblexamprovider.* FR

MySQL高效分页与分页优化分析

在Percona Performance Conference 2009大会上来自yahoo的Surat Singh Bhati (surat@yahoo-inc.com) 和 Rick James (rjames@yahoo-inc.com)给大家分享了MySQL高效分页的经验. 一.概述 常见分页方式 schema设计和常见的分页方式(偏移) 避免分页偏移过大的技巧 性能对比 重点 二.常见分页方式 三.前提 大记录表要高效分页 WHERE条件使用索引完成 WHERE条件和排序能够使用同个索

Mysql高效分页详解

前言 通常针对MySQL大数据量的查询采取"分页"策略,但是如果翻页到比较靠后的位置时查询将变得很慢,因为mysql将花费大量的时间来扫描需要丢弃的数据. 基本分页技巧 通常情况下,为了实现高效分页,需要在查询中WHERE条件列和排序列应用组合索引. 例如,建立索引(a,b,c)使得以下查询可以使用索引,提高查询效率: 1.字段排序 ORDER BY a ORDER BY a,b ORDER BY a, b, c ORDER BY a DESC, b DESC, c DESC 2.筛选

.net中关于linq执行sql语句分页查询的功能

问题描述 publicList<V_NoEpay_User>GetOrderDatas(intstart,intcount,outinttotCount,DateTime?starTime,DateTime?endTime),应该怎么样来下逻辑呢,求大神们帮忙,如果能帮忙写出来就最好 解决方案 解决方案二:去Linq专区吧......现在Linq专区都成翻译了..解决方案三:returnquery.OrderBy(x=>排序条件).Skip((页码-1)*每页数).Take(每页数)解决

GridView高效分页和搜索功能的实现代码_实用技巧

前言:         公司项目开发,上周的任务是做基础数据的管理.在Sharepoint2010里边内嵌asp.net的aspx页,遇到了各种各样奇葩的问题,因为之前对sharepoint只是有一些了解,但是没有设计到具体的编程工作,这一次算是初次接触吧.其中有一部分基础数据数据量很大,大致有十多万,因为是对基础数据的维护,所以还需要对数据进行列表展示,增删改查什么的,大家都知道Asp.net里边的GridView有自带的分页,但是,那个分页对于少量的数据还好,对于这种数十万的数据量而言,这种

几种SqlServer2005高效分页sql查询语句

几种sqlserver2005高效分页sql查询语句 top方案: sql codeselect top 10 * from table1 where id not in(select top 开始的位置 id from table1) max: sql codeselect top 10 * from table1 where id>(select max(id) from (select top 开始位置 id from table1order by id)tt) row: sql code

SQL2005 高效分页sql查询语句经典实例

方法一 SQL2005 高效分页sql查询语句经典实例 代码如下: select top 10 * from ( select top (@Page * 10) ROW_NUMBER() OVER (order by id) as RowNum, id, username from Guest where username = 'user' ) as T where RowNum > ((@Page - 1) * 10) 2 select * from ( select ROW_NUMBER()