_GridPager.cshtml 1.83 KB
@model GridMvc.Pagination.GridPager
@if (Model == null || Model.PageCount <= 1)
{
    return;
}
<div class="grid-pager">
    <ul class="pagination">
        @if (Model.CurrentPage > 1)
        {
            <li class="page-item">
                <a class="page-link" href="@Model.GetLinkForPage(Model.CurrentPage - 1)"><i class="fa fa-fw fa-angle-left"></i> Back</a>
            </li>
        }

        @if (Model.StartDisplayedPage > 1)
        {
            <li class="page-item">
                <a class="page-link" href="@Model.GetLinkForPage(1)">1</a>
            </li>
            if (Model.StartDisplayedPage > 2)
            {
            <li class="page-item"><a class="page-link" href="@Model.GetLinkForPage(Model.StartDisplayedPage - 1)">...</a></li>
            }
        }
        @for (int i = Model.StartDisplayedPage; i <= Model.EndDisplayedPage; i++)
        {
            if (i == Model.CurrentPage)
            {
            <li class="page-item active"><a class="page-link" href="@Model.GetLinkForPage(i)">@i</a></li>
            }
            else
            {
            <li class="page-item"><a class="page-link" href="@Model.GetLinkForPage(i)">@i</a></li>
            }
        }
        @if (Model.EndDisplayedPage < Model.PageCount)
        {
            if (Model.EndDisplayedPage < Model.PageCount - 1)
            {
            <li class="page-item"><a class="page-link" href="@Model.GetLinkForPage(Model.EndDisplayedPage + 1)">...</a></li>
            }
            <li class="page-item"><a class="page-link" href="@Model.GetLinkForPage(Model.PageCount)">@Model.PageCount</a></li>
        }
        @if (Model.CurrentPage < Model.PageCount)
        {
            <li class="page-item"><a class="page-link" href="@Model.GetLinkForPage(Model.CurrentPage + 1)">Next <i class="fa fa-fw fa-angle-right"></i></a></li>
        }
    </ul>
</div>