Using custom route

This sample demonstrate how to use custom route in MvcPager, syntax:
<%=Html.Pager(Model,null,"Paging",null ) %>

Employee NO.: Employee 1  Employee 2  Employee 3  Employee 4  Employee 5  Employee 6  Employee 7  Employee 8  Employee 9  
Order IDOrder DateCustomer IDShip Address
1077112/10/1997 12:00:00 AMERNSHKirchgasse 6
1078212/17/1997 12:00:00 AMCACTUCerrito 333
1079912/26/1997 12:00:00 AMKOENEMaubelstr. 90
108281/13/1998 12:00:00 AMRANCHAv. del Libertador 900
108291/13/1998 12:00:00 AMISLATGarden House Crowther Way
108371/16/1998 12:00:00 AMBERGSBerguvsvägen 8
108491/23/1998 12:00:00 AMKOENEMaubelstr. 90
108531/27/1998 12:00:00 AMBLAUSForsterstr. 57
108712/5/1998 12:00:00 AMBONAP12, rue des Bouchers
108892/16/1998 12:00:00 AMRATTC2817 Milton Dr.
108932/18/1998 12:00:00 AMKOENEMaubelstr. 90
109052/24/1998 12:00:00 AMWELLIRua do Mercado, 12
109423/11/1998 12:00:00 AMREGGCStrada Provinciale 124
109513/16/1998 12:00:00 AMRICSUStarenweg 5
109533/16/1998 12:00:00 AMAROUTBrook Farm Stratford St. Mary
109633/19/1998 12:00:00 AMFURIBJardim das rosas n. 32
109703/24/1998 12:00:00 AMBOLIDC/ Araquil, 67
109783/26/1998 12:00:00 AMMAISDRue Joseph-Bens 532
110164/10/1998 12:00:00 AMAROUTBrook Farm Stratford St. Mary
110174/13/1998 12:00:00 AMERNSHKirchgasse 6
2 page(s) 22 orders
First  Prev  1  2  Next  Last
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" 
Inherits="System.Web.Mvc.ViewPage<PagedList<Order>>" %>
<%@ Import Namespace="Webdiyer.Mvc2Demo.Models" %>
<%@ Import Namespace="Webdiyer.WebControls.Mvc" %>
 
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    using custom route
</asp:Content>
 
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
 
    <h2>Using custom route</h2>
    <div>This sample demonstrate how to use custom route in MvcPager, syntax:<br />
    &lt;%=Html.Pager(Model,null,"Paging",null ) %&gt;
    </div><br />
    <div>Employee NO.:
    <%
        int empId = Convert.ToInt32(ViewContext.RouteData.Values["employeeId"]);
    for(int i=1;i<10;i++)
      {
          if (empId == i)
              Response.Write("Employee " + i);
          else
          Response.Write(Html.RouteLink("Employee " + i,"Paging",
                                         new RouteValueDictionary { { "action", "CustomRouteTable" }, 
                                         { "controller", "Orders" }, { "employeeId", i }, 
                                         { "pageIndex", 1 } }, null));
          Response.Write("&nbsp;&nbsp;");
      } %>
    </div>
<table width="98%">
<tr><th>Order ID</th><th>Order Date</th><th>Customer ID</th><th>Ship Address</th></tr>
<%foreach(Order od in Model)
 {
     %>
     <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.TotalPageCount+" page(s) "+Model.TotalItemCount+" orders" %>
</div><div style="float:right">
 <%=Html.Pager(Model,null,"Paging",null )%></div>
 
 
</asp:Content>
        public ActionResult CustomRouteTable(int employeeId, int? pageIndex)
        {
            using (var db = new MvcPagerDemoDataContext())
            {
                PagedList<Order> pagedOrders =
                    db.Orders.Where(o => o.EmployeeID == employeeId).ToPagedList(pageIndex ?? 1, 20);
                return View(pagedOrders);
            }
        }
            //custom route for paging demo
            routes.MapRoute("Paging", "{controller}/{action}/employee_{employeeId}/page_{pageIndex}",
                            new
                            {
                                controller = "Orders",
                                action = "CustomRouteTable",
                                employeeId = 1,
                                pageIndex = UrlParameter.Optional
                            });