Asp.Net数据控件引用AspNetPager.dll分页

原文:http://www.cnblogs.com/tandyshen/archive/2011/11/21/aspnetpager.html


原文如下:

  今天与大家分享一下“Asp.Net数据控件引用AspNetPager.dll分页”首先声明以下几点:

  1、也许讲解有点初级,希望高手不要“喷”我,因为我知道并不是每一个人都是高手,我也怕高手们说我装13,小生不才;

  2、如有什么不对的地方,还希望大家指出,一定虚心学习;

  3、本文属于作者原创,尊重他人劳动成果,转载请注明作者,谢谢。

  下面开讲:

  第一步:首先是下载一个AspNetPager.dll 下载地址 http://files.cnblogs.com/tandyshen/AspNetPager.rar

  第二步:在项目的bin文件夹下引用AspNetPager.dll 如图:


  第三步:在工具箱添加AspNetPager控件,如图:


  接下来再如图:


  这样的话我们就已经成功的添加了AspNetPager控件,把它拖到页面上就可以使用啦!→_→,好吧,距成功就差一步之遥了...

  第四步:代码部分,我以Repeater控件为例,其他数据控件,例如GridView、Datalist等一样使用...

  前台代码:


<webdiyer:AspNetPager ID="AspNetPager1" runat="server" PageSize="10" 
                      HorizontalAlign="Center" Width="100%" 
                      meta:resourceKey="AspNetPager1" Style="font-size: 14px"
                    AlwaysShow="false" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" 
                      PrevPageText="上一页" SubmitButtonText="Go"  SubmitButtonClass="submitBtn"
                    CustomInfoStyle="font-size:14px;text-align:left;" 
                      InputBoxStyle="width:25px; border:1px solid #999999; text-align:center; " 
                      TextBeforeInputBox="转到第" TextAfterInputBox="页 " PageIndexBoxType="TextBox" 
                      ShowPageIndexBox="Always" TextAfterPageIndexBox="页" 
                      TextBeforePageIndexBox="转到" Font-Size="14px" CustomInfoHTML="共<font color='#ff0000'>%PageCount%</font>页,第<font color='#ff0000'>%CurrentPageIndex%</font>页" 
                      ShowCustomInfoSection="Left" CustomInfoSectionWidth="19%" 
                      PagingButtonSpacing="3px" onpagechanged="AspNetPager1_PageChanged">
</webdiyer:AspNetPager>



  后台代码:


private void DatasBind()
{
        this.AspNetPager1.RecordCount = ds.Tables[0].Rows.Count;
        PagedDataSource pds = new PagedDataSource();
        pds.AllowPaging = true;
        pds.PageSize = AspNetPager1.PageSize;
        pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
        pds.DataSource = ds.Tables[0].DefaultView;
        rpttandy.DataSource = pds;
        rpttandy.DataBind();
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
       DatasBind();
}



我的实践经验:

  首先非常感谢原作者的细心和爱心,实践了一番,感觉很不错,过程中有两个问题:1、上文中ds未指定,但上述代码中没有ds数据源定义的相关代码:


private void DatasBind()

  {

  SqlDataAdapter sda = new SqlDataAdapter("select * from 数据表名 order by id desc", con);

  DataSet ds = new DataSet();

  sda.Fill(ds, "数据表名");

  this.AspNetPager1.RecordCount = ds.Tables[0].Rows.Count;

  PagedDataSource pds = new PagedDataSource();

  pds.AllowPaging = true;

  pds.PageSize = AspNetPager1.PageSize;

  pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;

  pds.DataSource = ds.Tables[0].DefaultView;

  rpttandy.DataSource = pds;

  rpttandy.DataBind();

  }


rpttandy 是page控件所控制的数据表ID。

2、在.aspx页面顶部需要加上AspNetPager的引用:.


aspx.cs页面上面不用另外加using。


3、CurrentPageButtonPosition="Center"定义激活的按钮位置(居中);

4、NumericButtonCount="9"定义显示索引数字个数;

5、ShowFirstLast="false"定义隐藏首页和尾页按钮;

6、同一个页面对同一数据表放置两个AspNetPager时,用不同的id,加CloneFrom="AspNetPager1"(AspNetPager1为主控件)即可。

首页 更新历史 在线演示 下载 帮助文档 常见问题 代码工具 分页资源 客户站点 留言簿 .Net资源 登录 注册 AspNetPager分页控件 分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一个可以分页的DataGrid(asp.net 1.1)和GridView(asp.net 2.0)控件,但其分页功能并不尽如人意,如可定制性差、无法通过Url实现分页功能等,而且有时候我们需要对DataList和Repeater甚至自定义数据绑定控件进行分页,手工编写分页代码不但技术难度大、任务繁琐而且代码重用率极低,因此分页已成为许多ASP.NET程序员最头疼的问题之一。 AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现分页导航功能的地方,如为GridView、DataList以及Repeater等数据绑定控件实现分页、呈现自定义的分页数据以及制作图片浏览程序等,因为AspNetPager控件数据是独立的,因此要分页数据可以来自任何数据源,如SQL Server、Oracle、Access、mysql、DB2等数据库以及XML文件、内存数据或缓存中的数据文件系统等等。 AspNetPager 7.1 版发布(2008-7-20) 新增 LayoutType 属性,该值是 LayoutType 枚举Table或Div,默认值是Div,即使用div布局,若设为Table则使用表格布局方式; 新增 UrlPageSizeName 属性,可以通过在url参数中指定PageSize属性的值,该UrlPageSizeName属性值若为空或负数忽略,否则PageSize属性将返回从Url中获取的UrlPageSizeName 参数的值; 新增SubmitButtonImageUrl属性,支持使用图片按钮,当该属性的值不为空时,分页控件使用该属性的值做为图片按钮路径,如果该值为空或默认值则时使用普通按钮; 修正了设计时支持中设置页索引文本或下拉框选项时,在页索引文本或下拉框显示方式中选择“自动”时属性被设置为Always而非Auto的错误; 解决了设计时EnableUrlRewriting 为true 时 UrlRewritePattern属性出错的出错问题; 代码精简及其它优化; 上一版本中标记为已废弃的如下属性:ShowInputBox、InputBoxClass、InputBoxStyle、TextBeforeInputBox、TextAfterInputBox 已去掉,新版本中已不存在这些属性,升级时请注意; AspNetPager 7.0.2 版发布(2008-1-26) 所有属性除CloneFrom外都支持使用皮肤Scheme主题(7.0.1版中大部分都不支持)。 修正了在居中当前页索引按钮的情况下(CenterCurrentPageButton=true),总页数小于数字页索引按钮数(即:PageCount小于NumericButtonCount的值)时出现负页数的bug。 新增属性CurrentPageButtonTextFormatString,可以获取或设置当前页数字页索引文本的显示格式,感谢网友asuka08的建议! 新增属性UrlPagingTarget,可以获取或设置Url分页方式下分页按钮或超链接指向的目标窗口或框架的名称。 当使用下拉框显示页索引时(即PageIndexBoxType=DropDownList时),如果总页数超过80页,将在下拉框中只列出部分页索引而不是全部页索引,以防页数太多导致下拉框选项太多而拖慢页面下载和打开速度。页索引下拉框的页索引选取规则是:当前页小于或等于15页时,显示前15页及最后5页;当前页索引大于总页数-14页时,显示前5页和最后15页;否则显示前5页、从当前页索引前5页到后5页的十一页以及最后5页。如果您有更好的下拉框页索引选取规则,请留言或发邮件联系我,我会及时更新。谢谢!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值