Browse all products (custom page route value key)
Product name | Category |
---|---|
Product 11 | Food |
Product 12 | Shoes |
Product 13 | Shoes |
Product 14 | Electronics |
Product 15 | Food |
Product 16 | Shoes |
Product 17 | Shoes |
Product 18 | Electronics |
Product 19 | Food |
Product 20 | Shoes |
Razor code
@using MvcPaging.Demo.Models @model IPagedList<Product> @{ ViewBag.Title = "Browse all products (custom page route value key)"; } <h2>@ViewBag.Title</h2> <table class="grid"> <thead> <tr> <th>Product name</th> <th>Category</th> </tr> </thead> <tbody> @foreach (var product in Model) { <tr> <td>@product.Name</td> <td>@product.Category</td> </tr> } </tbody> </table> <div class="pager"> @Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount).Options(o => o .PageRouteValueKey("Search.page") .AlwaysAddFirstPageNumber()) </div>
Controller code
public ActionResult CustomPageRouteValueKey(SearchModel search) { int currentPageIndex = search.page.HasValue ? search.page.Value - 1 : 0; return View(this.allProducts.ToPagedList(currentPageIndex, DefaultPageSize)); }