zoukankan      html  css  js  c++  java
  • nopCommerce 2.60 之实现产品规格属性分组筛选

    明确我们将要的展现形式如图:

    来看看原视图:

     1 @if (Model.NotFilteredItems.Count > 0)
     2         {
     3             <div>
     4                 <table class="filter">
     5                     @foreach (var item in Model.NotFilteredItems)
     6                     {
     7                         if (!renderedAttributeNames.Contains(item.SpecificationAttributeName))
     8                         {
     9                             renderedAttributeNames.Add(item.SpecificationAttributeName);
    10                         <tr class="group">
    11                             <td>
    12                                 @item.SpecificationAttributeName
    13                             </td>
    14                         </tr>
    15                         }
    16                         <tr class="item">
    17                             <td>
    18                                 <a href="@item.FilterUrl">@item.SpecificationAttributeOptionName</a>
    19                             </td>
    20                         </tr>
    21                     }
    22                 </table>
    23             </div>
    24         }

    输出结果为下图:

    很显然达不到我们的理想要求?  因此考虑使用GroupBy()方法来通过制定键值来对序列进行分组排序,迭代IGrouping<TKey, TElement>

    输出从而达到我的实现目标。如:

    View Code
    if (Model.NotFilteredItems.Count > 0)
        {
    
            IEnumerable<IGrouping<string, CatalogPagingFilteringModel.SpecificationFilterItem>> spcGroup1 = Model.NotFilteredItems.GroupBy(e => e.SpecificationAttributeName);
    
            foreach (IGrouping<string, CatalogPagingFilteringModel.SpecificationFilterItem> spcGroup in spcGroup1)
            {
            <dl>
                <dt>@spcGroup.Key :</dt>
                <dd>
                    @foreach (CatalogPagingFilteringModel.SpecificationFilterItem item in spcGroup)
                    {
                        <div>
                            <a href="@item.FilterUrl">@item.SpecificationAttributeOptionName</a>
                        </div>
                    }
                </dd>
            </dl>
            }
        }
  • 相关阅读:
    Adobe PS
    深入学习二叉树(04)平衡二叉树
    深入学习二叉树(03)二叉查找树
    C 知识点
    实战【docker 镜像制作与使用】
    从0到1了解 CI/CD
    理解Spring 容器、BeanFactory 以及 ApplicationContext
    Java 中 CAS
    volatile 关键字
    JenKins安装
  • 原文地址:https://www.cnblogs.com/mschen/p/2642106.html
Copyright © 2011-2022 走看看