Browse all products (custom page route value key)
Product name | Category |
---|---|
Product 41 | Shoes |
Product 42 | Electronics |
Product 43 | Food |
Product 44 | Shoes |
Product 45 | Shoes |
Product 46 | Electronics |
Product 47 | Food |
Product 48 | Shoes |
Product 49 | Shoes |
Product 50 | Electronics |
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)); }