Как получить родительский элемент для элемента 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
}
}