如何在 item:deleted 事件中获取 Sitecore 项目的父项?
How to get the parent of a Sitecore item in the item:deleted event?
在 Sitecore 中处理 item:deleted
事件时,传入的 Item
的父级为空:
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
总是空的。
传入该方法的第二个参数是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
}
}
在 Sitecore 中处理 item:deleted
事件时,传入的 Item
的父级为空:
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
总是空的。
传入该方法的第二个参数是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
}
}