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())); }
private void SetPage(ItemsControl pagingItemsControl, int page) { PagingDecorator pagingDecorator = pagingItemsControl.FindVisualChild <PagingDecorator>(); if ((page >= 0) && (page < pagingDecorator.Items.Count)) { pagingDecorator.SelectedIndex = page; } }