如何获取项目中Sitecore项目的父项:已删除的事件?

时间:2016-11-08 20:26:48

标签: c# sitecore

在Sitecore中处理item:deleted事件时,传入的Item的父项为null:

using Sitecore.Data;
using Sitecore.Data.Items;
using Sitecore.Events;

public void OnItemDeleted(object sender, EventArgs args)
{
    Item item = Event.ExtractParameter(args, 0) as Item;
    Item itemParent = item.Parent;
    if (itemParent != null)
    {
        // Do stuff
    }
}

它从未到达// Do stuff,因为itemParent始终为空。

1 个答案:

答案 0 :(得分:4)

传递给此方法的第二个参数是Parent的ID。更新方法如下:

using Sitecore.Data;
using Sitecore.Data.Items;
using Sitecore.Events;

public void OnItemDeleted(object sender, EventArgs args)
{
    Item item = Event.ExtractParameter(args, 0) as Item;
    ID parentId = Event.ExtractParameter(args, 1) as ID;
    Item itemParent = item.Database.GetItem(parentId);
    if (itemParent != null)
    {
        // Do stuff
    }
}