当前位置: 首页>>代码示例>>C#>>正文


C# TagHelperContext.SetPaginationContext方法代码示例

本文整理汇总了C#中Microsoft.AspNet.Razor.TagHelpers.TagHelperContext.SetPaginationContext方法的典型用法代码示例。如果您正苦于以下问题:C# TagHelperContext.SetPaginationContext方法的具体用法?C# TagHelperContext.SetPaginationContext怎么用?C# TagHelperContext.SetPaginationContext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Microsoft.AspNet.Razor.TagHelpers.TagHelperContext的用法示例。


在下文中一共展示了TagHelperContext.SetPaginationContext方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: BootstrapProcessAsync

 protected override async Task BootstrapProcessAsync(TagHelperContext context, TagHelperOutput output) {
     output.TagName = "nav";
     output.PreContent.AppendHtml(Size == SimpleSize.Default
                                      ? "<ul class=\"pagination\">"
                                      : $"<ul class=\"pagination pagination-{Size.GetDescription()}\">");
     ChildDetectionMode = true;
     context.SetPaginationContext(this);
     await output.GetChildContentAsync(true);
     ChildDetectionMode = false;
     if (!DisableAutoActive && Items.TrueForAll(pI => !pI.Active)) {
         PaginationItemTagHelper activeItem = Items.FirstOrDefault(ItemHasCurrentUrl);
         if (activeItem != null)
             activeItem.Active = true;
     }
     for (var i = 0; i < Items.Count; i++)
         if (string.IsNullOrEmpty(Items[i].Content))
             Items[i].Content = (i + 1).ToString();
     if (Items.Any(pI => pI.Active)) {
         if (PrevHref == null)
             PrevHref = Items.TakeWhile(pI => !pI.Active).LastOrDefault(pI => !pI.Disabled)?.Href;
         if (NextHref == null)
             NextHref = Items.SkipWhile(pI => !pI.Active).Skip(1).FirstOrDefault(pI => !pI.Disabled)?.Href;
     }
     DisableNext = NextHref == null || DisableNext.HasValue && DisableNext.Value == false;
     DisablePrev = PrevHref == null || DisablePrev.HasValue && DisablePrev.Value == false;
     output.PreContent.AppendHtml(
                                  PaginationItemTagHelper.RenderItemTag(
                                                                        "<span aria-hidden=\"true\">&laquo;</span>",
                                                                        PrevHref, DisablePrev.Value, false,
                                                                        PrevText ?? Ressources.Previous));
     output.PostContent.AppendHtml(
                                   PaginationItemTagHelper.RenderItemTag(
                                                                         "<span aria-hidden=\"true\">&raquo;</span>",
                                                                         NextHref, DisableNext.Value, false,
                                                                         NextText ?? Ressources.Next));
     if (MaxDisplayedItems > 0 && Items.Count > MaxDisplayedItems)
         if (Items.Any(pI => pI.Active)) {
             MaxDisplayedItems--;
             List<PaginationItemTagHelper> itemsBeforeActive =
                 Items.TakeWhile(pI => !pI.Active).Reverse().ToList();
             List<PaginationItemTagHelper> itemsAfterActive = Items.SkipWhile(pI => !pI.Active).Skip(1).ToList();
             var itemsCountBeforeActive = (int) Math.Floor((decimal) MaxDisplayedItems/2);
             var itemsCountAfterActive = (int) Math.Ceiling((decimal) MaxDisplayedItems/2);
             if (itemsCountAfterActive > itemsAfterActive.Count)
                 itemsCountBeforeActive += itemsCountAfterActive - itemsAfterActive.Count;
             else if (itemsCountBeforeActive > itemsBeforeActive.Count)
                 itemsCountAfterActive += itemsCountBeforeActive - itemsBeforeActive.Count;
             foreach (PaginationItemTagHelper item in itemsBeforeActive.Skip(itemsCountBeforeActive))
                 item.RenderOutput = false;
             foreach (PaginationItemTagHelper item in itemsAfterActive.Skip(itemsCountAfterActive))
                 item.RenderOutput = false;
         }
         else
             foreach (PaginationItemTagHelper item in Items.Skip(MaxDisplayedItems))
                 item.RenderOutput = false;
     foreach (PaginationItemTagHelper item in Items.Where(pI => pI.RenderOutput))
         output.Content.AppendHtml(PaginationItemTagHelper.RenderItemTag(item));
 }
开发者ID:Pietervdw,项目名称:BootstrapTagHelpers,代码行数:58,代码来源:PaginationTagHelper.cs


注:本文中的Microsoft.AspNet.Razor.TagHelpers.TagHelperContext.SetPaginationContext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。