2016-04-20 50 views
1

我有一个现有的基于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

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

的本地解决方案:

  1. 获取数据库版本(可以在管理员模式下检查)
  2. 将大会信息版本高于在DB
相关问题