public static MvcHtmlString Pager(this HtmlHelper html, IPaginatedListModel paginatedListModel) { int totalPages = CalcTotalPages(paginatedListModel.Total, paginatedListModel.PageSize); int previousPage = CalcPreviousPage(paginatedListModel.Page); int nextPage = CalcNextPage(paginatedListModel.Page, totalPages); int lowerBound = CalcLowerBound(paginatedListModel.Page, 10, totalPages); int upperBound = CalcUpperBound(paginatedListModel.Page, 10, totalPages); var result = new StringBuilder("<ul class=\"pagination\">"); if (paginatedListModel.Total != 0) { //// Show first //html.CreateButton(result, "|<", 1, paginatedListModel.Page == 1); // Show previous html.CreateButton(result, "Prev", previousPage, paginatedListModel.Page == 1); for (int i = lowerBound; i <= upperBound; i++) { if (i == paginatedListModel.Page) { html.CreateCurrentButton(result, i.ToString()); } else { html.CreateButton(result, i.ToString(), i); } } // Show next html.CreateButton(result, "Next", nextPage, paginatedListModel.Page == totalPages); //// Show last //html.CreateButton(result, ">|", totalPages, paginatedListModel.Page == totalPages); } result.Append("</ul>"); return(MvcHtmlString.Create(result.ToString())); }
public static MvcHtmlString Pager(this HtmlHelper html, IPaginatedListModel paginatedListModel) { int totalPages = CalcTotalPages(paginatedListModel.Total, paginatedListModel.PageSize); int previousPage = CalcPreviousPage(paginatedListModel.Page); int nextPage = CalcNextPage(paginatedListModel.Page, totalPages); int lowerBound = CalcLowerBound(paginatedListModel.Page, 10, totalPages); int upperBound = CalcUpperBound(paginatedListModel.Page, 10, totalPages); var result = new StringBuilder("<ul class=\"pagination\">"); if (paginatedListModel.Total != 0) { //// Show first //html.CreateButton(result, "|<", 1, paginatedListModel.Page == 1); // Show previous html.CreateButton(result, "Prev", previousPage, paginatedListModel.Page == 1); for (int i = lowerBound; i <= upperBound; i++) { if (i == paginatedListModel.Page) { html.CreateCurrentButton(result, i.ToString()); } else { html.CreateButton(result, i.ToString(), i); } } // Show next html.CreateButton(result, "Next", nextPage, paginatedListModel.Page == totalPages); //// Show last //html.CreateButton(result, ">|", totalPages, paginatedListModel.Page == totalPages); } result.Append("</ul>"); return MvcHtmlString.Create(result.ToString()); }