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

时间:2009-03-13 11:24:44

标签: c# recursion sitecore

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

  

图像/部门/子部门/产品/

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

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的子图像而没有删除它下面的任何内容吗?

1 个答案:

答案 0 :(得分:7)

DataEngine是一个非常低级的API,不应该没有理由使用它。

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

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

这将离开department1项目,但其下的所有内容都将被删除。