更新现有站点上已发布页面的结构

时间:2016-04-20 12:00:46

标签: c# episerver

我有一个基于Episerver的网站,并且在更改后不会更新已发布网页的结构。

我有大量来自 BasePage 的已发布网页。然后我必须在该页面添加一个新块:

public abstract class BasePage : PageData
{
    [Display(Name = "SomeBlock")]
    public virtual SomeBlock SomeBlock { get; set; }
}
public class SomeBlock : BlockData
{
    [CultureSpecific]
    [Display(Name = "Field1")]
    public virtual string Field1 { get; set; }
}

我正在尝试更新计划作业中的页面。代码看起来像

BasePage writeablePage = (BasePage)basePage .CreateWritableClone();

 if (basePage.SomeBlock == null)
     basePage.SomeBlock = new SomeBlock ();

 if (string.IsNullOrWhiteSpace(basePage.SomeBlock.Field1))
 {
     basePage.SomeBlock.Field1 = "Some Text";
 }


 DataFactory.Instance.Save(writeablePage, SaveAction.Publish, AccessLevel.NoAccess);

但这种做法并不奏效。我试过玩" SaveAction"但没有效果

更新:我正在使用登台环境中的数据库,它看起来像版本控制的问题(让我说我本地有1. *程序集,但登台服务器上有2. *)

1 个答案:

答案 0 :(得分:1)

问题是由本地程序集的较低版本引起的,然后是在使用DB的登台服务器上。

本地解决方案:

  1. 获取数据库版本(可以检查管理模式)
  2. 将装配信息版本设置为高于DB