Kentico页面更新不更新物理表

时间:2016-08-19 06:31:25

标签: kentico

我有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

2 个答案:

答案 0 :(得分:4)

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

解决方案只是使用以下内容发布页面:

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

答案 1 :(得分:1)

您是否在此页面中使用了工作流程?

您可以尝试使用DocumentHelper.UpdateDocument(...)并指定TreeProvider,因为您可能无权更新此页面。

Here's the link to API how manage the page