AspNetPager使用方法

AspNetPager使用方法:

1、首先引用AspNetPager.dll;

2、在所使用的前台页面加入:<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>,指明DLL地址和命名空间;

3、在前台.aspx中示例代码

<asp:Content runat="server" ContentPlaceHolderID="main">

<asp:Repeater ID="Repeater1" runat="server">

<HeaderTemplate>

<table width="100%" class="table table-bordered table-striped table-hover">

<tr><th style="15%">订单编号</th><th style="15%">订单日期</th><th style="30%">公司名称</th><th style="20%">客户编号</th><th style="20%">雇员姓名</th></tr>

</HeaderTemplate>

<ItemTemplate>

<tr>

<td><%#DataBinder.Eval(Container.DataItem,"orderid")%></td>

<td><%#DataBinder.Eval(Container.DataItem,"orderdate","{0:d}")%></td>

<td><%#DataBinder.Eval(Container.DataItem, "companyname")%></td>

<td><%#DataBinder.Eval(Container.DataItem,"customerid")%></td>

<td><%#DataBinder.Eval(Container.DataItem,"employeename")%></td>

</tr>

</ItemTemplate>

<FooterTemplate>

</table>

</FooterTemplate>

</asp:Repeater>

<div class="pull-right">

<webdiyer:AspNetPager ID="AspNetPager1" runat="server" Width="100%" UrlPaging="true" CssClass="pagination" LayoutType="Ul" PagingButtonLayoutType="UnorderedList" PagingButtonSpacing="0" CurrentPageButtonClass="active" PageSize="12" OnPageChanged="AspNetPager1_PageChanged">

</webdiyer:AspNetPager>

</div>

</asp:Content>



在.aspx.cs后台页面加上此方法:

public partial class PagedRepeater_Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

int totalOrders = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, "P_GetOrderNumber");

AspNetPager1.RecordCount = totalOrders;

//BindDataRepeater(); //使用url分页,只需在分页事件处理程序中绑定数据即可,无需在Page_Load中绑定,否则会导致数据被绑定两次

}

}

private void BindDataRepeater()

{

Repeater1.DataSource = SqlHelper.ExecuteReader(CommandType.StoredProcedure, ConfigurationManager.AppSettings["pagedSPName"],

new SqlParameter("@startIndex", AspNetPager1.StartRecordIndex),

new SqlParameter("@endIndex", AspNetPager1.EndRecordIndex));

Repeater1.DataBind();

}

分页改变事件: 

protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{

BindDataRepeater();

}



注意:1、同时,还要指定以下值:

AspNetPager1.PageSize=10;//每页显示多少条记录

AspNetPager1.RecordCount=100;//总页数

2、因为该控件与数据显示和绑定是独立的,所以可以根据所要显示的页数AspNetPager1.CurrentPageIndex,取得该页数据datatable,然后再使用repeater等控件绑定:

Repeater1.DataSource = dt;

Repeater1.DataBind();

3、PageChanging 事件被引发,NewPageIndex 的值是:1 
 PageChanged事件被引发,当前页索引是:1

原文地址:https://www.cnblogs.com/BrokenIce/p/5095605.html