コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        private static void GenerateNextBtn(string actionName, string controllerName, string areaName, object routeValues, object ajaxAttributes, PagerOptions pagerOptions)
        {
            if (pagerOptions.DisplayLinkToNextPage == PagedListDisplayMode.Always || (pagerOptions.DisplayLinkToNextPage == PagedListDisplayMode.IfNeeded && !isLastPage))
            {
                var span = new TagBuilder("span");
                span.InnerHtml.AppendHtml(pagerOptions.LinkToNextPageFormat);
                var page = pagerOptions.currentPage >= pagerOptions.PageCount ? pagerOptions.PageCount : pagerOptions.currentPage + 1;


                nextBtn.MergeAjaxAttribute(ajaxAttributes);

                nextBtn.MergeUrlAttribute(actionName, controllerName, areaName, routeValues, page);

                nextBtn.InnerHtml.AppendHtml(span);
            }
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        private static void GeneratePageNumbers(string actionName, string controllerName, string areaName, object routeValues, object ajaxAttributes, PagerOptions pagerOptions)
        {
            for (int page = 1; page <= pagerOptions.PageCount; page++)
            {
                var li = new TagBuilder("li");
                li.AddCssClass(pagerOptions.LiElementClasses);

                if (page == 1 && pagerOptions.currentPage > pagerOptions.PageCount)
                {
                    li.AddCssClass("active");
                }
                else if (page == pagerOptions.currentPage)
                {
                    li.AddCssClass("active");
                }


                var span = new TagBuilder("span");
                span.InnerHtml.AppendHtml(page.ToString());

                var a = new TagBuilder("a");
                a.MergeAjaxAttribute(ajaxAttributes);
                a.MergeUrlAttribute(actionName, controllerName, areaName, routeValues, page);
                a.InnerHtml.AppendHtml(span);

                li.InnerHtml.AppendHtml(a);
                ul.InnerHtml.AppendHtml(li);
            }
        }
コード例 #3
0
        /// <summary>
        ///
        /// </summary>
        public static IHtmlContent Pager(string actionName, string controllerName, object routeValues, object ajaxAttributes, PagerOptions pagerOptions, string areaName = "")
        {
            if (pagerOptions.DisplayMode == PagedListDisplayMode.Never || (pagerOptions.DisplayMode == PagedListDisplayMode.IfNeeded && pagerOptions.PageCount <= 1))
            {
                return(null);
            }


            InitialPager(pagerOptions);

            InitialTags(pagerOptions);

            GeneratePrevBtn(actionName, controllerName, areaName, routeValues, ajaxAttributes, pagerOptions);

            GeneratePageNumbers(actionName, controllerName, areaName, routeValues, ajaxAttributes, pagerOptions);

            GenerateNextBtn(actionName, controllerName, areaName, routeValues, ajaxAttributes, pagerOptions);

            wrapper.InnerHtml.AppendHtml(ul);

            GenerateInfoArea(pagerOptions);

            return(wrapper);
        }
コード例 #4
0
        /// <summary>
        ///
        /// </summary>
        private static void GeneratePrevBtn(string actionName, string controllerName, string areaName, object routeValues, object ajaxAttributes, PagerOptions pagerOptions)
        {
            if (pagerOptions.DisplayLinkToPreviousPage == PagedListDisplayMode.Always || (pagerOptions.DisplayLinkToPreviousPage == PagedListDisplayMode.IfNeeded && !isFirstPage))
            {
                var page = pagerOptions.currentPage <= 1 ? 1 : pagerOptions.currentPage - 1;

                prevBtn.MergeAjaxAttribute(ajaxAttributes);

                prevBtn.MergeUrlAttribute(actionName, controllerName, areaName, routeValues, page);

                prevBtn.InnerHtml.AppendHtml(pagerOptions.LinkToPreviousPageFormat);
            }
        }