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
1077312/11/1997 12:00:00 AMERNSHKirchgasse 6
1077612/15/1997 12:00:00 AMERNSHKirchgasse 6
1078512/18/1997 12:00:00 AMGROSR5ª Ave. Los Palos Grandes
1078812/22/1997 12:00:00 AMQUICKTaucherstraße 10
1078912/22/1997 12:00:00 AMFOLIG184, chaussée de Tournai
1079212/23/1997 12:00:00 AMWOLZAul. Filtrowa 68
1080012/26/1997 12:00:00 AMSEVES90 Wadhurst Rd.
108131/5/1998 12:00:00 AMRICARAv. Copacabana, 267
108211/8/1998 12:00:00 AMSPLIRP.O. Box 555
108251/9/1998 12:00:00 AMDRACDWalserweg 21
108271/12/1998 12:00:00 AMBONAP12, rue des Bouchers
108341/15/1998 12:00:00 AMTRADHAv. Inês de Castro, 414
108351/15/1998 12:00:00 AMALFKIObere Str. 57
108421/20/1998 12:00:00 AMTORTUAvda. Azteca 123
108501/23/1998 12:00:00 AMVICTE2, rue du Commerce
108591/29/1998 12:00:00 AMFRANKBerliner Platz 43
108772/9/1998 12:00:00 AMRICARAv. Copacabana, 267
108862/13/1998 12:00:00 AMHANARRua do Paço, 67
108882/16/1998 12:00:00 AMGODOSC/ Romero, 33
108942/18/1998 12:00:00 AMSAVEA187 Suffolk Ln.
3 page(s) 49 orders
First  Prev  1  2  3  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
                            });