sitecore - Sitecore 中的 Children 和 GetChildren 有什么区别? (v8.1)

标签 sitecore sitecore8

因此,查看 Sitecore 代码,我发现有多种方法可以获取 Item 的子项。

// Summary:
//     Gets the children.
public ChildList GetChildren();

// Summary:
//     Gets a list of child items.
public ChildList Children { get; }

对它们之间的差异有什么想法吗?

也不要与重载方法混淆:

GetChildren(ChildListOptions options)

最佳答案

Item.GetChildren() 允许参数更改功能。这种灵 active 就是为什么在检索子项的 ChildList 集合时 .GetChildren() 优于 .Children 的原因。

例如,要忽略应用于这些项目的任何安全性,请使用:item.GetChildren(Sitecore.Collections.ChildListOptions.IgnoreSecurity)

以上是这三个方法/属性的代码

public ChildList GetChildren()
{
  return this.GetChildren(ChildListOptions.None);
}

public ChildList GetChildren(ChildListOptions options)
{
  return Sitecore.Diagnostics.Assert.ResultNotNull<ChildList>(ItemManager.GetChildren(this, (options & ChildListOptions.IgnoreSecurity) != ChildListOptions.None ? SecurityCheck.Disable : SecurityCheck.Enable, options));
}

public ChildList Children
{
  get
  {
    return new ChildList(this);
  }
}

关于sitecore - Sitecore 中的 Children 和 GetChildren 有什么区别? (v8.1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37167228/

相关文章:

sitecore - 如何查看 sitecore 6 中的所有存档项目

asp.net - Elmah和Sitecore和404错误处理

asp.net - Sitecore 用于创建项目的默认语言

sitecore - 如何检查 Context.Item 是 uCommerce 项目还是 Sitecore 项目

Sitecore Tracker.Current未初始化

sitecore - 访问其他语言网站

sitecore - 如何在 Sitecore 中模拟 RenderSection?

facebook - Sitecore Social Connected 将不会与 Facebook 连接,因为publish_stream 已弃用

indexing - 将 sitecore 6.6 索引配置升级到 sitecore 7(使用 ComputedFields)

Sitecore 数据库和 App_Data 大小