c# - 在 Sitecore CMS.NET 中递归删除子项

标签 c# recursion sitecore

我的 Sitecore 媒体库中有以下结构

images/department/sub-department/product/

我想一次删除一个部门代码中的所有图像。目前我有

Item[] items = database.SelectItems("/sitecore/media library/images/department1//*");            

Sitecore.Data.Engines.DataEngine engine = new Sitecore.Data.Engines.DataEngine(database);

using (new SecurityDisabler())
{
    foreach (Item item in items)
    {
        engine.DeleteItem(item))
    }
}

问题是它只删除了 department1 的子图像而没有删除它下面的任何内容?

最佳答案

DataEngine 是一个非常低级的 API,不应无故使用。

同时删除所有子项很容易:

项目 department1 = database.GetItem("/sitecore/media library/images/department1"); department1.DeleteChildren();

这将留下 department1 项目,但它下面的所有内容都将被删除。

关于c# - 在 Sitecore CMS.NET 中递归删除子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/642232/

相关文章:

Python 递归读取数据

每当添加一个项目时,Sitecore 都会添加几个孤立项目

c# - Sitecore:通过菜单项命令/消息传递语言信息

javascript - JavaScript : loop through JSON

jquery - 使用递归链接 jQuery 动画会导致浏览器崩溃

Sitecore 多个自定义用户配置文件

c# - 如何在 .NET 中使用 MUMPS?

c# - 如何在 asp.net mvc 中模拟基本 Controller ?

c# - LINQ for string StartsWith List<string> 中的某个值

c# - 如何使 Accordion 标题在页面加载时全部折叠?