Browse all products (custom page route value key)
Product name | Category |
---|---|
Product 31 | Food |
Product 32 | Shoes |
Product 33 | Shoes |
Product 34 | Electronics |
Product 35 | Food |
Product 36 | Shoes |
Product 37 | Shoes |
Product 38 | Electronics |
Product 39 | Food |
Product 40 | 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)); }