asp.net下Repeater使用 AspNetPager分页控件进行分页
分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一个可以分页的DataGrid(asp.net 1.1)和GridView(asp.net 2.0)控件,但其分页功能并不尽如人意,如可定制性差、无法通过Url实现分页功能等, 而且有时候我们需要对DataList和Repeater甚至自定义数据绑定控件进行分页,手工编写分页代码不但技术难度大、任务繁琐而且代码重用率极低,因此分页已成为许多ASP.NET程序员最头疼的问题之一。
AspNetPager的开发者网站:http://www.webdiyer.com/aspnetpager
下载压缩包解压,找到dll文件并添加引用
接下来我们使用AspNetPager控件给Repeater分页:
.aspx中:
首先在头部添加以下代码(注册控件):
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
在相应的位置加上以下代码:
</div> </ItemTemplate> </asp:Repeater> <%--前台部分--%> <webdiyer:AspNetPager ID="AspNetPager1" runat="server" Width="100%" UrlPaging="true" CssClass="pagination" LayoutType="Ul" PagingButtonLayoutType="UnorderedList" PagingButtonSpacing="0" CurrentPageButtonClass="active" PageSize="5" OnPageChanged="AspNetPager1_PageChanged"> </webdiyer:AspNetPager>
.cs中:
if (!IsPostBack) { AspNetPager1.RecordCount = article_count;//article_count这个变量是查询结果的总数 }
protected void AspNetPager1_PageChanged(object sender, EventArgs e) { bindData(); } private void bindData() { PagedDataSource pds = new PagedDataSource(); pds.DataSource = articleList;//articleList是我这边查询的结果,是未分页前repeater的数据源,在这里作为中间件pds的数据源 pds.AllowPaging = true;//启用分页 pds.PageSize = AspNetPager1.PageSize;//分页显示的数量 pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1; Repeater_articleList.DataSource = pds;//将pds作为repeater的数据源 Repeater_articleList.DataBind(); }
ok,到这里就可以使用了,最后修改以下css样式:
先引入 bootstrap.css。然后在自己的样式表添加以下代码:
/*先引入bootstrap.css*/ .pagination a[disabled]{ color: #777;cursor: not-allowed;background-color: #fff;border-color: #ddd;} .pagination span.active{z-index: 2;color: #fff;cursor: default;background-color: #337ab7;border-color: #337ab7;}
效果就出来了:
版权声明:
作者:东明兄
链接:https://blog.crazyming.com/note/177/
来源:CrazyMing
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论