English versionEnglish
杨涛的个人主页

MvcPager分页控件

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

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

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

使用名为“Default”的路由,分页参数名为id
订单编号订单日期顾客编号收货地址
108801998/2/10 0:00:00FOLKOÅkergatan 24
108811998/2/11 0:00:00CACTUCerrito 333
108821998/2/11 0:00:00SAVEA187 Suffolk Ln.
108831998/2/12 0:00:00LONEP89 Chiaroscuro Rd.
108841998/2/12 0:00:00LETSS87 Polk St. Suite 5
108851998/2/12 0:00:00SUPRDBoulevard Tirou, 255
108861998/2/13 0:00:00HANARRua do Paço, 67
108871998/2/13 0:00:00GALEDRambla de Cataluña, 23
108881998/2/16 0:00:00GODOSC/ Romero, 33
108891998/2/16 0:00:00RATTC2817 Milton Dr.
108901998/2/16 0:00:00DUMON67, rue des Cinquante Otages
108911998/2/17 0:00:00LEHMSMagazinweg 7
108921998/2/17 0:00:00MAISDRue Joseph-Bens 532
108931998/2/18 0:00:00KOENEMaubelstr. 90
108941998/2/18 0:00:00SAVEA187 Suffolk Ln.
108951998/2/18 0:00:00ERNSHKirchgasse 6
108961998/2/19 0:00:00MAISDRue Joseph-Bens 532
108971998/2/19 0:00:00HUNGO8 Johnstown Road
108981998/2/20 0:00:00OCEANIng. Gustavo Moncada 8585 Piso 20-A
108991998/2/20 0:00:00LILASCarrera 52 con Ave. Bolívar #65-98 Llano Largo
共16页318条订单
首页  上一页  ...  2  3  4  5  6  7  8  9  10  11  ...  下一页  尾页


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

分页参数名为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);
            }
        }