I usually embed this within a pagination control. Look to adding it to the framework:
const int MaximumPageNumbersToDisplay = 5;
var firstPageToDisplay = 1;
var lastPageToDisplay = Model.TotalPageCount;
var pageNumbersToDisplay = lastPageToDisplay;
if (Model.TotalPageCount > MaximumPageNumbersToDisplay)
{
var maxPageNumbersToDisplay = MaximumPageNumbersToDisplay;
firstPageToDisplay = Model.PageNumber - maxPageNumbersToDisplay / 2;
if (firstPageToDisplay < 1)
{
firstPageToDisplay = 1;
}
pageNumbersToDisplay = maxPageNumbersToDisplay;
lastPageToDisplay = firstPageToDisplay + pageNumbersToDisplay - 1;
if (lastPageToDisplay > Model.TotalPageCount)
{
firstPageToDisplay = Model.TotalPageCount - maxPageNumbersToDisplay + 1;
}
}
var totalPageNumber = Model.TotalPageCount;
if (totalPageNumber == 0)
{
totalPageNumber = 1;
}