【问题标题】:Kentico page update not update Physical tableKentico 页面更新不更新物理表
【发布时间】:2016-08-19 06:31:25
【问题描述】:

我有 Kentico 网站,它具有与外部数据库同步数据的调度任务。基本上从外部数据库表创建的页面很少。我们有两种方法可以在 Kentico 表中创建和更新记录。

为了创建我们使用

TreeNode page = TreeNode.New(Helper.ClassName_Campus);
page.SetValue("Title", "Title");
page.Insert(parentPage);

创建记录工作正常并更新物理表数据。

我们使用更新

 TreeNode page = DocumentHelper.GetDocuments(Helper.ClassName_Campus).OnSite("site").Where(" ID", QueryOperator.Equals, 1).FirstObject;
 page.SetValue("Title", "Title");
 page.Update();

更新方法确实可以正常工作。当我转到页面和表单数据时,我可以在表单字段上看到新数据,但它不会更新实际的物理表数据。更新页面时如何更新实际的物理数据表。更新后 Kentico 存储表单数据在哪里。

这是我们在 kentico 网站上找到的用于更新表数据的链接。 https://docs.kentico.com/display/K9/Working+with+pages+in+the+API

【问题讨论】:

    标签: kentico


    【解决方案1】:

    Kentico 内容表(绑定到页面类型的内容表)始终包含仅发布数据。如果您使用工作流/版本控制,“新”数据将存储在 CMS_VersionHistory 表中。

    解决方案是简单地使用类似的方式发布页面:

        var page = DocumentHelper.GetDocument(1, new TreeProvider());
        page.DocumentName = "Update name";
        page.Publish();
    

    【讨论】:

    • 感谢页面。Publish() 成功了。我可以知道为什么插入工作而不发布。谢谢。
    • 之所以有效,是因为该页面没有“先前”版本,因此无需将这些数据存储在版本历史记录中 :-)
    【解决方案2】:

    您是否为此页面使用了工作流?

    您可以尝试使用 DocumentHelper.UpdateDocument(...) 并在那里指定一个 TreeProvider,因为您可能没有更新此页面的权限。

    Here's the link to API how manage the page

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 1970-01-01
      相关资源
      最近更新 更多