Ejemplo n.º 1
0
        public static IHtmlContent PagedSortedTablePagingControl(this IHtmlHelper htmlHelper, IPagedSortedViewModel model)
        {
            const string disabled = "class=\"disabled\"";

            var pageNumber = model.GetCurrentPageNumber();
            var pageCount  = model.GetPageCount();

            var previousPageStart = model.Start - model.Length;

            previousPageStart = previousPageStart < 0 ? 0 : previousPageStart;
            var previousDisabled = pageNumber <= 1 ? disabled : string.Empty;

            var nextPageStart = model.Start + model.Length;
            var nextDisabled  = pageNumber >= pageCount ? disabled : string.Empty;

            var sb = new StringBuilder();

            sb.AppendLine("<ul class=\"pagedsortedtablepagingcontrol pagination\">");
            sb.AppendLine($"  <li {previousDisabled}><a href=\"{GetPageLink(previousPageStart, model)}\">&laquo;</a></li>");
            sb.AppendLine($"  <li class=\"active\"><a href=\"#\">{pageNumber}</a></li>");
            sb.AppendLine($"  <li {nextPageStart}><a href=\"{GetPageLink(nextPageStart, model)}\">&raquo;</a></li>");
            sb.AppendLine("</ul>");

            return(new HtmlString(sb.ToString()));
        }
Ejemplo n.º 2
0
        public static IHtmlContent PagedSortedTableHeaderLink(this IHtmlHelper htmlHelper, string text, string columnName, IPagedSortedViewModel model, string cssClasses = "")
        {
            bool   isSortColumn      = columnName.Equals(model.OrderColumn);
            bool   newOrderAscending = !isSortColumn ? true : !model.OrderAscending;
            string sortIcon          = isSortColumn ? model.OrderAscending ? "fa-sort-asc" : "fa-sort-desc" : string.Empty;
            string href = $"?start={model.Start}&length={model.Length}&orderColumn={columnName}&orderAscending={newOrderAscending}";

            return(new HtmlString($"<a href=\"{href}\" class=\"pagedsortedtableheader {cssClasses}\">{text} <i class=\"fa fa-fw {sortIcon}\"></a>"));
        }
Ejemplo n.º 3
0
 private static string GetPageLink(int start, IPagedSortedViewModel model)
 {
     return($"?start={start}&length={model.Length}&orderColumn={model.OrderColumn}&orderAscending={model.OrderAscending}");
 }