利用AspNetPager分页

摘要:
分页有很多方法。现在我们将介绍如何使用AspNetPager进行分页。1.首先,转到AspNetPager。dll,分页控件,然后单击此处下载。=“”set@strWhere=“此处”+@strWhereset@strSQL='SELECT*FROMASspWHERE posBETWEEN'+str+'AND'+strexec 2.配置AspNetPager控件1.在项目中添加对AspNetPage的引用,然后将其添加到工具箱中。

分页的方法很多,现在介绍利用AspNetPager进行分页

一、准备工作

1.首先需要到准备分页控件AspNetPager.dll,点击这里下载。

官方网址是:http://www.webdiyer.com/Controls/AspNetPager

2.利用存储过程进行分页

-- ============================================= 
-- Description:    分页,用到了ROW_NUMBER() 
--      适用于SQL Server 2005及以上数据库 
-- ============================================= 
create PROCEDURE [dbo].[proc_SplitPage] 
@tblName   varchar(255),       -- 表名 
@strGetFields varchar(1000) = '*', -- 需要返回的列,默认* 
@strOrder varchar(255)='',      -- 排序的字段名,必填 
@strOrderType varchar(10)='ASC', -- 排序的方式,默认ASC 
@PageSize   int = 10,          -- 页尺寸,默认10 
@PageIndex int = 1,           -- 页码,默认1 
@strWhere varchar(1500) = '' -- 查询条件 (注意: 不要加 where) 
AS

declare @strSQL   varchar(5000)

if @strWhere !='' 
set @strWhere=' where '+@strWhere

set @strSQL= 
'SELECT * FROM ('+ 
    'SELECT ROW_NUMBER() OVER (ORDER BY '+@strOrder+' '+@strOrderType+') AS pos,'+@strGetFields+' '+ 
    'FROM '+@tblName+' '+@strWhere+ 
') AS sp WHERE pos BETWEEN '+str((@PageIndex-1)*@PageSize+1)+' AND '+str(@PageIndex*@PageSize)

exec (@strSQL)

  

二、配置AspNetPager控件

1、在项目中添加对AspNetPager的引用,再把它添加到工具箱中。

2、拖放到到页面中需要的地方,或者直接手写,需要注意的是在页首加上Register标记

<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>

  

<webdiyer:AspNetPager   runat="server" OnPageChanged="pager_PageChanged" CssClass="paginator"
    CurrentPageButtonClass="cpb" FirstPageText="首页" LastPageText="末页" NextPageText="下一页" 
    PrevPageText="上一页" ShowPageIndexBox="Never" PageSize="10"
    CustomInfoHTML="总计%RecordCount%条记录,共%PageCount%页,每页%PageSize%条" AlwaysShow="True" 
    ShowCustomInfoSection="Left">
</webdiyer:AspNetPager>

  

3、通过Postback方式分页首先要在页面加载的时候计算出数据源的总记录数。

pager.RecordCount = news.CalcCount();

在分页事件中进行数据绑定:

protected void pager_PageChanged(object sender, EventArgs e)
{
    BindData();
}

  

在数据绑定方法中,计根据页大小和页码取出对应的数据

private void BindGridView()
{
    int pageSize = pager.PageSize;
    int pageIndex = pager.CurrentPageIndex;

    GridView1.DataSource = news.Select(pageSize, pageIndex, "");
    GridView1.DataBind();
}

  

几处需要注意的地方:

ShowPageIndexBox="Never"  不显示输入文本框进行跳转

样式可以自己搭配,网上也有现成的CSS代码

最后效果如图:

pager

免责声明:内容来源于网络,仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇百度快照投诉技巧案例分析百度快照就是这样刷出来的自己做采集程序下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

OA之手机短信模块(一)

  前言    最近太忙,没有时间写博客,也发觉没有主题可写.就把目前做的模块拿出来赚点点击率.也适当回击一下以前公司同事写着一块,却不肯说原理给我们听.其实这个很简的.. 用途 1.       可以用于OA,即时通讯,预警系统等. 2.       也可以写成组件,供其它模块调用,如工作流等. 开发手机技术简介 1.       SP服务提供商.现在移...

分享C#原生ID(流水号)生成功能实现

一、非存储过程生成的流水号   /// <summary> /// /// </summary> public static class DataBaseGenerator { /// <summary> /// /// </su...

Mysql数据类型

MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 1.数值类型 MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、...

sql 二进制文件的导入导出

/*--bcp-二进制文件的导入导出 支持image,text,ntext字段的导入/导出image适合于二进制文件;text,ntext适合于文本数据文件 注意:导入时,将覆盖满足条件的所有行导出时,将把所有满足条件的行也出到指定文件中 此存储过程仅用bcp实现邹建   2003.08-----------------*/ /*--调用示例--数据导出e...

【转】MS Sql server 日期转换为特定字符串格式

愕然发现,sqlserver和oracle里对数据类型的转换还是有不少差异的。目前项目是sqlserver,需要用到,因此拿捏了过来,转一下,哈哈。作为备份吧。 正文: 日期格式化函数:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(1...

Mybatis分页插件PageHelper简单使用

1. 引入分页插件 引入分页插件有下面2种方式,推荐使用 Maven 方式。 1). 引入 Jar 包 你可以从下面的地址中下载最新版本的 jar 包 https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/ http://repo1....