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>
            }
        }
  • 相关阅读:
    strncpy (Strings) – C 中文开发手册
    HTML track label 属性
    Java面试题:常用的Web服务器有哪些?
    鲲鹏920上安装ovs
    基于AC控制器+VXLAN解决方案
    二层MAC学习及BUM报文转发
    基于mac表的vxlan转发
    Agile Controller vxlan
    设置鲲鹏916/920通过pxe安装os
    ovs-vxlan&vlan
  • 原文地址:https://www.cnblogs.com/mschen/p/2642106.html
Copyright © 2011-2022 走看看