Пример #1
0
        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()));
        }
Пример #2
0
        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());
        }