Sitecore 7会在保存时自动打开从自定义字段创建的项目

时间:2014-04-25 18:41:22

标签: sitecore sitecore7

我已经为sitecore Item创建了一个自定义字段,此自定义字段只是创建一个名称在某个特定文件夹下指定的新项目。我在保存时这样做(onLoad方法中的适当条件用于自定义字段控制):

if (!Sitecore.Context.ClientPage.IsEvent)
{
  //blah-blah-blah
}
else
{
  TemplateItem template = db.GetTemplate(TemplatePath);
  Item parentItem = db.Items[ItemsRootPath];
  var newItem = parentItem.Add("item name", template);
}

项目正在成功创建,但是当我保存父项目(包含此自定义字段的项目)时,内容编辑器会自动打开此项目。

问题是:如何避免它并在后台创建此项目而不将其显示给用户?

谢谢, 甲

1 个答案:

答案 0 :(得分:1)

您可以禁用通知,以防止新项目被加载:

Client.Site.Notifications.Disabled = true;
TemplateItem template = db.GetTemplate(TemplatePath);
Item parentItem = db.Items[ItemsRootPath];
var newItem = parentItem.Add("item name", template);
Client.Site.Notifications.Disabled = false;

我通过在我保存的项目中添加一个子项来测试这个,导致树也没有更新。我通过在通知启用后添加此行来修复此问题。

Sitecore.Context.ClientPage.SendMessage(this, string.Format("item:refreshchildren(id={0})", ItemID));