/// <summary> /// Adds the specified tag to the inner tag list. /// </summary> /// <param name="tag">The tag to add.</param> public void Add(MultiLevelHtmlTag tag) { if (tag == null) { throw new ArgumentNullException("tag"); } _innerTags.Add(tag); }
public static MvcHtmlString BuildPaginationWithSkippingPages(this HtmlHelper helper, PaginationModel paginationModel, Func<int, string> linkFunc) { if (paginationModel.PagesTotal <= 8) { return helper.BuildPagination(paginationModel, linkFunc); } MultiLevelHtmlTag divTag = new MultiLevelHtmlTag("div"); divTag.AddCssClass("pagination"); MultiLevelHtmlTag ulTag = new MultiLevelHtmlTag("ul"); bool previusPageWasSkipped = false; for (int i = 1; i <= paginationModel.PagesTotal; i++) { bool skipPage = (i != 1 && Math.Abs(paginationModel.CurrentPage - i) > 2 && i != paginationModel.PagesTotal); if (previusPageWasSkipped && skipPage) { continue; } previusPageWasSkipped = skipPage; MultiLevelHtmlTag liTag = new MultiLevelHtmlTag("li"); if (i == paginationModel.CurrentPage) { liTag.AddCssClass("active"); } else if (skipPage) { liTag.AddCssClass("disabled"); } MultiLevelHtmlTag aTag = new MultiLevelHtmlTag("a"); aTag.Attributes.Add("href", skipPage ? "#" : linkFunc(i)); aTag.SetInnerText(skipPage ? "..." : i.ToString(CultureInfo.InvariantCulture)); liTag.Add(aTag); ulTag.Add(liTag); } divTag.Add(ulTag); return MvcHtmlString.Create(divTag.ToString()); }
public static MvcHtmlString BuildPagination(this HtmlHelper helper, PaginationModel paginationModel, Func<int, string> linkFunc) { MultiLevelHtmlTag divTag = new MultiLevelHtmlTag("div"); divTag.AddCssClass("pagination"); MultiLevelHtmlTag ulTag = new MultiLevelHtmlTag("ul"); for (int i = 1; i <= paginationModel.PagesTotal; i++) { MultiLevelHtmlTag liTag = new MultiLevelHtmlTag("li"); if (i == paginationModel.CurrentPage) { liTag.AddCssClass("active"); } MultiLevelHtmlTag aTag = new MultiLevelHtmlTag("a"); aTag.Attributes.Add("href", linkFunc(i)); aTag.SetInnerText(i.ToString(CultureInfo.InvariantCulture)); liTag.Add(aTag); ulTag.Add(liTag); } divTag.Add(ulTag); return MvcHtmlString.Create(divTag.ToString()); }