Linq配合AspNetPager高效分页方法

Linq配合AspNetPager高效分页方法
 
分页方式:

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

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

 

说明: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-08-01 03:48:52

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

Linq配合AspNetPager高效分页

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

使用AspNetPager高效分页..

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

mysql 存储过程高效分页方法

Create procedure [dbo].[PrGs_Nation_Task_GetList] @PageSize int = 100, -- 每页显示记录条数,默认为100 @PageIndex int = 1, -- 当前提取要显示的页码,默认为1,数据库根据PageSize,PageIndex 计算返回一页数据 @RetTotal int output, -- 记录总数 @RetCount int output, -- 返回记录数 @RetPageIndex int output, -

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

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

一个高效简洁的Struts分页方法

分页 在网上看了几个Structs分页,感觉不是很完善,于是根据自己的经验,写了一个相对高效简洁的分页方法.由于本人水平有限,如果大家有什么更好的想法,欢迎不吝赐教. 一. 开发环境 我的开发环境是:JBuilder x + Weblogic 8.1 + Oracle 9i + Windows 2003 ,如果朋友们的开发环境不一样亦无妨. 二.开发思路 既然讲的是Struts,那自然离不了MVC,分页显示也是如此. 1. 建立数据库和对应的表,本例的表是TCertificate. 2. 建立适

asp.net高效的分页方法超大数据量大并且带查询参数

asp教程.net高效的分页方法超大数据量大并且带查询参数 create   Proc [dbo].[GetRS] @QueryStr nvarchar(300),--表名.视图名.查询语句 @PageSize int=10,--每页的大小(行数) @PageCurrent int=1,--要显示的页 @FdShow nvarchar (100)='',--要显示的字段列表,如果查询结果有标识字段,需要指定此值,且不包含标识字段 @FdOrder nvarchar (100)='',--排序字段

asp.net Linq TO Sql 分页方法_实用技巧

分页方法 复制代码 代码如下: /// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="replist">控件ID</param> /// <param name="DataSource">数据源</param> /// <par

linq 去掉重复数据 再调用分页方法(分页分发已有)

问题描述 适合调用这个方法的(有更适合的分页方法也可以!)新手求指教! 解决方案 解决方案二:首先,重复数据的定义是什么?所有字段重复么?然后,为什么数据库里有重复数据?解决方案三:引用1楼romanchaos的回复: 首先,重复数据的定义是什么?所有字段重复么?然后,为什么数据库里有重复数据? 根据指定的的字段进行分组每一组只留下一条数据再把剩余的数据进行分页解决方案四:query=query.Groupby(c=>c.分组字段).select(c=>c.first()不知道行不行.没试过,

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

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