Browse all products

Product name Category
Product 1 Shoes
Product 2 Electronics
Product 3 Food
Product 4 Shoes
Product 5 Shoes
Product 6 Electronics
Product 7 Food
Product 8 Shoes
Product 9 Shoes
Product 10 Electronics

Razor code

@using MvcPaging.Demo.Models
@model IPagedList<MvcPaging.Demo.Models.Product>
@{
	ViewBag.Title = "Browse all products";
}
<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)
</div>

Controller code

public ActionResult Index(int? page)
{
	int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
	return View(this.allProducts.ToPagedList(currentPageIndex, DefaultPageSize));
}