我有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
答案 0 :(得分:4)
Kentico内容表(绑定到页面类型的表)始终包含仅发布的数据。如果您使用工作流程/版本控制,“新”数据将存储在 CMS_VersionHistory 表中。
解决方案只是使用以下内容发布页面:
var page = DocumentHelper.GetDocument(1, new TreeProvider());
page.DocumentName = "Update name";
page.Publish();
答案 1 :(得分:1)
您是否在此页面中使用了工作流程?
您可以尝试使用DocumentHelper.UpdateDocument(...)并指定TreeProvider,因为您可能无权更新此页面。