ASP.NET MVC Pager Overview
The Pager is part of Telerik UI for ASP.NET MVC, a
professional grade UI library with 110+ components for building modern and feature-rich applications. To try it out sign up for a free 30-day trial.
The Telerik UI Pager HtmlHelper for ASP.NET MVC is a server-side wrapper for the Kendo UI Pager widget.
The Pager enables you to split a set of data into pages with flexible and intuitive UI. The user interface of the Pager is useful for paging data-bound components that have a data source and do not have a built-in UI for paging such as the ListView or scenarios that require paging options—for example, Kendo Templates with a data source.
You can customize the page number templates or use an input for navigation to a specific page, toggle the visibility of previous and next buttons, include a pagesize dropdown and alter the information messages. The pager API also offers the ability to localize its messages.
Initializing the Pager
To use the Pager, you have to define a standalone data source and pass it by name to the Pager and to the data-bound control that will use it.
The following example demonstrates how to tie a pager to a data source and enable the PageSizes()
functionality.
@(Html.Kendo().DataSource<Kendo.Mvc.Examples.Models.OrderViewModel>()
.Name("dataSource1")
.Ajax(t=>t.Read(read => read.Action("People_Read", "Pager")).PageSize(20))
)
@(Html.Kendo().Pager()
.Name("pager")
.DataSource("dataSource1")
.PageSizes(true)
)
using Kendo.Mvc.Extensions;
using Kendo.Mvc.UI;
public class PagerController : BaseController
{
public IActionResult People_Read([DataSourceRequest]DataSourceRequest request)
{
var people = new List<SampleData>() {
new SampleData() { Name = "Jane Doe", Age = 25, IsOnLeave = false },
new SampleData() { Name = "John Doe", Age = 33, IsOnLeave = true },
new SampleData() { Name = "John Smith", Age = 37, IsOnLeave = true },
new SampleData() { Name = "Nathan Doe", Age = 42, IsOnLeave = false }
};
return Json(people.ToDataSourceResult(request));
}
public IActionResult Index()
{
return View();
}
}
public class SampleData
{
public int Age { get; set; }
public string Name { get; set; }
public bool IsOnLeave { get; set; }
}
Functionality and Features
Events
You can subscribe to the Pager events.
@(Html.Kendo().Pager()
.Name("Pager")
.Events(events => events
.Change("onChange")
)
)
<script>
function onChange(e){
console.log("pager change event");
}
</script>
Referencing Existing Instances
To refer to an existing Pager instance use the jQuery.data()
method. Once a reference is established, use the Pager API to control its behavior.
<script>
$(function() {
// The Name() of the Pager is used to get its client-side instance.
var pager = $("#pager").data("kendoPager");
});
</script>