【问题标题】:Get the all the children from a Sitecore item in a parent-child relation从父子关系中的 Sitecore 项中获取所有子项
【发布时间】:2015-05-06 11:48:47
【问题描述】:

下面的代码应该返回一个列表中的所有孩子和子孩子,但它没有保持父子关系的顺序。它首先返回所有父项,然后返回所有子项。

是否有可能以某种方式保持项目有序,并按照与 Sitecore 中相同的顺序将它们放入列表中?

MainItem 包含父子关系中的项目:

Item mainItem= Sitecore.Context.Database.GetItem(Settings.GetSetting("MainItem"));
mainItem.Axes.GetDescendants().ToList();

【问题讨论】:

    标签: sitecore


    【解决方案1】:

    您可以递归地将项目添加到列表中:

    public void AppendItems(List<Item> itemList, Item item)
    {
        foreach(Item childItem in item.Children)
        {
            itemList.Add(childItem);
            AppendItems(itemList, childItem);
        }
    }
    

    用法:

    var list = new List<Item>();
    list.Add(rootItem);
    AppendItems(list, rootItem);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      • 2016-01-19
      • 2018-07-02
      • 2015-04-19
      相关资源
      最近更新 更多