Как получить родительский элемент для элемента Sitecore в элементе item: удаленное событие?

При обращении с item:deleted событие в Sitecore, 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 ответ

Решение

Второй параметр, передаваемый в этот метод, - это идентификатор родителя. Обновите метод следующим образом:

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
    }
}
Другие вопросы по тегам