Fork me on GitHub

UrlPager 示例 - Repeater分页

本示例演示如何使用UrlPager分页控件对Repeater控件进行分页,使用的路由名为“UrlPager_Repeater”。
Order IDOrder DateCompany NameCustomer IDEmployee Name
10957 1998/3/18 HILARION-Abastos HILAA Laura Callahan
10956 1998/3/17 Blauer See Delikatessen BLAUS Michael Suyama
10955 1998/3/17 Folk och fä HB FOLKO Laura Callahan
10954 1998/3/17 LINO-Delicateses LINOD Steven Buchanan
10953 1998/3/16 Around the Horn AROUT Anne Dodsworth
10952 1998/3/16 Alfreds Futterkiste ALFKI Nancy Davolio
10951 1998/3/16 Richter Supermarkt RICSU Anne Dodsworth
10950 1998/3/16 Magazzini Alimentari Riuniti MAGAA Nancy Davolio
10949 1998/3/13 Bottom-Dollar Markets BOTTM Andrew Fuller
10948 1998/3/13 Godos Cocina Típica GODOS Janet Leverling
 First Prev ... 8 9 10 11 12 13 14 15 16 17 ... Next Last

路由定义:

     routes.MapPageRoute("UrlPager_Repeater",
                "urlpager/demos/{controller}/{action}/{id}",
                "~/UrlPager/Demos/Repeater.aspx", false, new RouteValueDictionary { { "controller", "Repeater" }, { "action", "Page" }, { "id", null } }, new RouteValueDictionary { { "controller", "Repeater" }, { "action", "Page" } });
   

Repeater.aspx:

 <%@Register Namespace="Webdiyer.WebControls" Assembly="Webdiyer.UrlPager" TagPrefix="webdiyer"%>
<asp:Repeater ID="Repeater1" runat="server">
     <headertemplate>
     <table class="table table-bordered table-hover">
     <tr><th>Order ID</th><th>Order Date</th><th>Company Name</th><th>Customer ID</th><th>Employee Name</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>
     <webdiyer:UrlPager runat="server" id="pager1" RouteName="UrlPager_Repeater" CssClass="pull-right" PageIndexParameterName="id" PagerItemTemplate="&nbsp;{0}"
                        OnPageChanged="PageChanged"></webdiyer:UrlPager> 
 

Repeater.aspx.cs:

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
namespace Webdiyer.UrlPagerDemo
{
    public partial class Repeater : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                pager1.TotalItemCount = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, "P_GetOrderNumber");
        }
        protected void PageChanged(object sender, EventArgs e)
        {
            Repeater1.DataSource = SqlHelper.ExecuteReader(CommandType.StoredProcedure, ConfigurationManager.AppSettings["pagedSPName"],
                new SqlParameter("@startIndex", pager1.StartItemIndex),
                new SqlParameter("@endIndex", pager1.EndItemIndex));
            Repeater1.DataBind();
        }
    }
}