<%@ Page Language="C#" AutoEventWireup="true" MetaDescription="该示例演示如何使用AspNetPager分页控件对Repeater控件进行分页。" Inherits="PagedRepeater_Default" MasterPageFile="AspNetPager.master" Title="Repeater分页示例" Codebehind="PagedRepeater.aspx.cs" %>
<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="width:15%">订单编号</th><th style="width:15%">订单日期</th><th style="width:30%">公司名称</th><th style="width:20%">客户编号</th><th style="width: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>
后台:PagedDataList.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
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;
//bindData(); //使用url分页,只需在分页事件处理程序中绑定数据即可,无需在Page_Load中绑定,否则会导致数据被绑定两次
}
}
void bindData()
{
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 src, EventArgs e)
{
bindData();
}
}