Browse all products

Product name Category
Product 511 Food
Product 512 Shoes
Product 513 Shoes
Product 514 Electronics
Product 515 Food
Product 516 Shoes
Product 517 Shoes
Product 518 Electronics
Product 519 Food
Product 520 Shoes

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));
}