无法在sitecore中保存项目字段

时间:2016-03-04 11:13:24

标签: asp.net sitecore sitecore8

基本任务但无法实现。 数据模板如下:

Comment --(template ID is {AB86861A-6030-46C5-B394-E8F99E8B87DB})
 -Comment --section
   -Author --field
   -Comment Text   --field

我正在创建该模板的新项目,如下所示

protected void btnSubmit_Click(object sender, EventArgs e)
 {
   Sitecore.Data.Database masterDb = Sitecore.Configuration.Factory.GetDatabase("master");
   Item parentItem = Sitecore.Context.Item;
   var template = masterDb.GetTemplate("{AB86861A-6030-46C5-B394-E8F99E8B87DB}");            

   using (new Sitecore.SecurityModel.SecurityDisabler())
    {
      Item newItem = parentItem.Add(Sitecore.DateUtil.IsoNow, template);
      try
       {
        if (newItem != null)
         {
          newItem.Editing.BeginEdit();
          newItem["Author"] = txtAuthor.Text;
          newItem["Comment Text"] = txtContent.Text;
          newItem.Editing.EndEdit();
         }
       }
      catch
       {
         //...log error
         newItem.Editing.CancelEdit();
       }
     }

     txtAuthor.Text = string.Empty;
     txtContent.Text = string.Empty;            
   }

使用时间戳作为名称保存项目,正如我在内容树中看到的那样。现在,当我尝试查看值(作者,评论文本)时,它们是空的。所以,我怀疑,如果他们首先得救了。

使用其他Usercontrol查看注释的代码。

private void Page_Load(object sender, EventArgs e)
 {
  if (!IsPostBack)
   {
     Database masterDb = Factory.GetDatabase("master");
     Item parentItem = Sitecore.Context.Item;
     var commentTemplate = masterDb.GetTemplate("{AB86861A-6030-46C5-B394-E8F99E8B87DB}");
     var commentsList = parentItem.Children.Where(x => x.TemplateID == commentTemplate.ID);
     Item item = commentsList.FirstOrDefault();
     Response.Write(item["Author"] + "$$" + item["Comment Text"]);
   }
  }

结果只是

  

$$

我在这里缺少什么。

更新:

错误在于引用了ID。我使用的是“评论”数据模板的Template ID。它必须是ID

0 个答案:

没有答案