示例#1
0
        public static MvcHtmlString PageLinks(this HtmlHelper html, PagingInfo pagingInfo, Func <int, string> pageUrl)
        {
            var result          = new StringBuilder();
            var listNames       = new ListNames();
            var pagingDecorator = new PagingDecorator();

            if (pagingInfo.CurrentPage != 1)
            {
                pagingDecorator.AppendIntoInnerHtml(new ListItem(listNames.Begin, "1"));
                pagingDecorator.AppendIntoInnerHtml(new ListItem(listNames.Backward, (pagingInfo.CurrentPage - 1).ToString()));
            }

            for (var i = 1; i <= pagingInfo.TotalPages; i++)
            {
                var li = new ListItem(i.ToString(), i.ToString(), (i == pagingInfo.CurrentPage));
                pagingDecorator.AppendIntoInnerHtml(li);
            }

            if (pagingInfo.CurrentPage != pagingInfo.TotalPages)
            {
                pagingDecorator.AppendIntoInnerHtml(new ListItem(listNames.Forward, pagingInfo.TotalPages.ToString()));
                pagingDecorator.AppendIntoInnerHtml(new ListItem(listNames.End, (pagingInfo.CurrentPage + 1).ToString()));
            }

            result.Append(pagingDecorator);
            return(MvcHtmlString.Create(result.ToString()));
        }
示例#2
0
        private void SetPage(ItemsControl pagingItemsControl, int page)
        {
            PagingDecorator pagingDecorator = pagingItemsControl.FindVisualChild <PagingDecorator>();

            if ((page >= 0) &&
                (page < pagingDecorator.Items.Count))
            {
                pagingDecorator.SelectedIndex = page;
            }
        }