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

本文关键字:获取 Sitecore 事件 删除 | 更新日期: 2023-09-27 18:16:56

当在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总是空的。

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

传递给该方法的第二个参数是父类的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
    }
}