2016-08-19 2 views
1

У меня есть веб-сайт 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(); 

метод Update выполняет работы OK. когда я перехожу на страницу и данные формы, я могу видеть новые данные в поле формы, но он не обновляет фактические данные физических таблиц. Как обновить фактическую таблицу физических данных при обновлении страницы. где Kentico сохраняет данные формы после обновления.

Это ссылка, которую мы нашли на веб-сайте kentico для данных таблицы обновлений. https://docs.kentico.com/display/K9/Working+with+pages+in+the+API

ответ

4

таблицы содержания Кентико (те, связанные с типом страницы) всегда содержат только опубликованные данные. Если вы используете рабочий процесс/версию, «новые» данные будут храниться в таблице CMS_VersionHistory.

Решение просто опубликовать страницу, используя что-то вроде:

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

Спасибо за page.Publish() делает трюк. Могу ли я знать, зачем вставлять работу без публикации. Благодарю. – Mahesh

+0

Это работает, потому что нет «предыдущих» версий страницы, поэтому нет необходимости хранить эти данные в истории версий :-) – Enn

1

Вы использовали рабочий процесс для этой страницы?

Вы можете попытаться использовать DocumentHelper.UpdateDocument (...) и указать там TreeProvider, потому что, возможно, у вас нет разрешения на обновление этой страницы.

Here's the link to API how manage the page

Смежные вопросы