UrlPager分页示例—Repeat分页

本示例演示如何使用UrlPager分页控件对Repeater控件进行分页,使用的路由名为“UrlPagingRepeater”。
订单编号订单日期公司名称客户编号雇员姓名
11077 1998/5/6 Rattlesnake Canyon Grocery RATTC Nancy Davolio
11076 1998/5/6 Bon app' BONAP Margaret Peacock
11075 1998/5/6 Richter Supermarkt RICSU Laura Callahan
11074 1998/5/6 Simons bistro SIMOB Robert King
11073 1998/5/5 Pericles Comidas clásicas PERIC Andrew Fuller
11072 1998/5/5 Ernst Handel ERNSH Margaret Peacock
11071 1998/5/5 LILA-Supermercado LILAS Nancy Davolio
11070 1998/5/5 Lehmanns Marktstand LEHMS Andrew Fuller
11069 1998/5/4 Tortuga Restaurante TORTU Nancy Davolio
11068 1998/5/4 Queen Cozinha QUEEN Laura Callahan
共32页 318条记录,当前为第1页, 起始索引1,结束索引10
首页 上一页 1 2 3 4 5 6 7 8 9 10 ... 下一页 尾页 
routes.MapPageRoute("UrlPagingRepeater",
                "{controller}/{action}/page_{id}",
                "~/UrlPagerDemo/Repeater.aspx");
 <asp:Repeater ID="Repeater1" runat="server">
        <HeaderTemplate>
        <table width="100%" border="1" cellspacing="0" cellpadding="4" 
        style="border-collapse:collapse"> <tr 
        style="backGround-color:#CCCCFF"><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 style="float:left">共<%:pager1.PageCount %>页 
 <%:pager1.TotalItemCount %>条记录,当前为第<%:pager1.CurrentPageIndex %>页,
起始索引<%:pager1.StartRecordIndex %>,结束索引<%:pager1.EndRecordIndex %></div>

<webdiyer:UrlPager runat="server" id="pager1" 
    RouteName="UrlPagingRepeater" style="float:right" PageIndexParameterName="id"
     RouteValues="<%$RouteValues:controller=Employees,action=Show%>" 
     OnPageChanged="PageChanged"></webdiyer:UrlPager> 

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace Webdiyer.HomePage.UrlPagerDemo
{
    public partial class Index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                int totalOrders = 
                (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, 
                "P_GetOrderNumber");
                pager1.TotalItemCount = totalOrders;
            }
        }

        protected void PageChanged(object sender, EventArgs e)
        {
            Repeater1.DataSource = 
            SqlHelper.ExecuteReader(CommandType.StoredProcedure, 
            ConfigurationManager.AppSettings["pagedSPName"],
                new SqlParameter("@startIndex", pager1.StartRecordIndex),
                new SqlParameter("@endIndex", pager1.EndRecordIndex));
            Repeater1.DataBind();
        }
    }
}