C# Sitecore发布事件,从事件参数获取项目

C# Sitecore发布事件,从事件参数获取项目,c#,sitecore,C#,Sitecore,这是我试过的代码,和我在物品保存事件中使用的代码是一样的 public void OnPublishEnd(object sender, EventArgs args) { SitecoreEventArgs eventArgs = args as SitecoreEventArgs; Item item = eventArgs.Parameters[0] as Item; } “item”返回null。我应该在这里使用什么从eventargs获取项目?解决了这个问题 S

这是我试过的代码,和我在物品保存事件中使用的代码是一样的

 public void OnPublishEnd(object sender, EventArgs args)
 {
    SitecoreEventArgs eventArgs = args as SitecoreEventArgs;
    Item item = eventArgs.Parameters[0] as Item;
 }
“item”返回null。我应该在这里使用什么从eventargs获取项目?

解决了这个问题

SitecoreEventArgs eventArgs = args as SitecoreEventArgs;
Item item = ((Sitecore.Publishing.Publisher)(eventArgs.Parameters[0])).Options.RootItem as Item;//eventArgs.Parameters[0] as Item;
Item existingItem = item.Database.GetItem(item.ID, item.Language, item.Version);

这成功了

你的答案不能回答你自己的问题。下次尝试更具体一些,以便我们能更好地帮助:).Hi-Yan,“((Sitecore.Publishing.Publisher)(eventArgs.Parameters[0])).Options.RootItem as Item”;代码起作用,而不是“eventArgs.Parameters[0]作为项;”代码。