English versionEnglish
杨涛的个人主页

MvcPager分页控件

MvcPager 分页示例—使用多个MvcPager为不同的数据分页

本示例演示如何在同一页面上使用多个MvcPager为不同的数据分页而互不干扰。

编号从小到大排序的订单:

使用名为“Default”的路由,分页参数名为id
订单编号订单日期顾客编号收货地址
107601997/12/1 0:00:00MAISDRue Joseph-Bens 532
107611997/12/2 0:00:00RATTC2817 Milton Dr.
107621997/12/2 0:00:00FOLKOÅkergatan 24
107631997/12/3 0:00:00FOLIG184, chaussée de Tournai
107641997/12/3 0:00:00ERNSHKirchgasse 6
107651997/12/4 0:00:00QUICKTaucherstraße 10
107661997/12/5 0:00:00OTTIKMehrheimerstr. 369
107671997/12/5 0:00:00SUPRDBoulevard Tirou, 255
107681997/12/8 0:00:00AROUTBrook Farm Stratford St. Mary
107691997/12/8 0:00:00VAFFESmagsloget 45
107701997/12/9 0:00:00HANARRua do Paço, 67
107711997/12/10 0:00:00ERNSHKirchgasse 6
107721997/12/10 0:00:00LEHMSMagazinweg 7
107731997/12/11 0:00:00ERNSHKirchgasse 6
107741997/12/11 0:00:00FOLKOÅkergatan 24
107751997/12/12 0:00:00THECR55 Grizzly Peak Rd.
107761997/12/15 0:00:00ERNSHKirchgasse 6
107771997/12/15 0:00:00GOURLAv. Brasil, 442
107781997/12/16 0:00:00BERGSBerguvsvägen 8
107791997/12/16 0:00:00MORGKHeerstr. 22
共16页318条订单
首页  上一页  1  2  3  4  5  6  7  8  9  10  ...  下一页  尾页


编号从大到小排序的订单:

分页参数名为page,与路由中的参数id不匹配,故参数被自动添加为url参数(page=n)
订单编号订单日期顾客编号收货地址
110771998/5/6 0:00:00RATTC2817 Milton Dr.
110761998/5/6 0:00:00BONAP12, rue des Bouchers
110751998/5/6 0:00:00RICSUStarenweg 5
110741998/5/6 0:00:00SIMOBVinbæltet 34
110731998/5/5 0:00:00PERICCalle Dr. Jorge Cash 321
110721998/5/5 0:00:00ERNSHKirchgasse 6
110711998/5/5 0:00:00LILASCarrera 52 con Ave. Bolívar #65-98 Llano Largo
110701998/5/5 0:00:00LEHMSMagazinweg 7
110691998/5/4 0:00:00TORTUAvda. Azteca 123
110681998/5/4 0:00:00QUEENAlameda dos Canàrios, 891
110671998/5/4 0:00:00DRACDWalserweg 21
110661998/5/1 0:00:00WHITC1029 - 12th Ave. S.
110651998/5/1 0:00:00LILASCarrera 52 con Ave. Bolívar #65-98 Llano Largo
110641998/5/1 0:00:00SAVEA187 Suffolk Ln.
110631998/4/30 0:00:00HUNGO8 Johnstown Road
110621998/4/30 0:00:00REGGCStrada Provinciale 124
110611998/4/30 0:00:00GREAL2732 Baker Blvd.
110601998/4/30 0:00:00FRANSVia Monte Bianco 34
110591998/4/29 0:00:00RICARAv. Copacabana, 267
110581998/4/29 0:00:00BLAUSForsterstr. 57
共16页318条订单
首页  上一页  1  2  3  4  5  6  7  8  9  10  ...  下一页  尾页
    <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MyOrdersModel>" %>
<%@ Import Namespace="MvcPagerSample.Models" %>
<%@ Import Namespace="Webdiyer.WebControls.Mvc" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
	MultiplePagers
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <h2>MvcPager 分页示例—使用多个MvcPager为不同的数据分页</h2>
    <div>本示例演示如何在同一页面上使用多个MvcPager为不同的数据分页而互不干扰。</div><br />
    <h3>编号从小到大排序的订单:</h3>
    使用名为“Default”的路由,分页参数名为id
<table width="98%">
<tr><th>订单编号</th><th>订单日期</th><th>顾客编号</th><th>收货地址</th></tr>
<%foreach (Order od in Model.AscOrders)
 {
     %>
     <tr><td><%=od.OrderID %></td><td><%=od.OrderDate.ToString() %></td><td><%=od.CustomerID %></td><td><%=od.ShipAddress %></td></tr>
     <%
 } %>
</table>
<div style="float:left;width:30%"><%="共"+Model.AscOrders.TotalPageCount+"页"+Model.DescOrders.TotalItemCount+"条订单" %></div><div style="float:right">
 <%=Html.Pager(Model.AscOrders,new PagerOptions{PageIndexParameterName="id"},"Default",null)%></div>
 <br /><br />
 <h3>编号从大到小排序的订单:</h3>
 分页参数名为page,与路由中的参数id不匹配,故参数被自动添加为url参数(page=n)
<table width="98%">
<tr><th>订单编号</th><th>订单日期</th><th>顾客编号</th><th>收货地址</th></tr>
<%foreach(Order od in Model.DescOrders)
 {
     %>
     <tr><td><%=od.OrderID %></td><td><%=od.OrderDate.ToString() %></td><td><%=od.CustomerID %></td><td><%=od.ShipAddress %></td></tr>
     <%
 } %>
</table>
<div style="float:left;width:30%"><%="共"+Model.DescOrders.TotalPageCount+"页"+Model.AscOrders.TotalItemCount+"条订单" %></div><div style="float:right">
 <%=Html.Pager(Model.DescOrders,new PagerOptions{PageIndexParameterName="page"})%></div>

</asp:Content>
    
    
        public ActionResult MultiplePagers(int? id)
        {
            using (var db = new MvcPagerSampleDataContext())
            {
                int pageIndex;
                int.TryParse(Request.QueryString["page"], out pageIndex);
                MyOrdersModel model = new MyOrdersModel();
                //按编号从小到大排序的订单,使用路由中的id参数做为页索引参数
                model.AscOrders= db.Orders.ToPagedList(id??1, 20);
                //按编号从大到小排序的订单,使用url参数page做为页索引参数
                model.DescOrders = db.Orders.OrderByDescending(o => o.OrderID).ToPagedList(pageIndex, 20);
                return View(model);
            }
        }