我有一个基于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. *)
答案 0 :(得分:1)
问题是由本地程序集的较低版本引起的,然后是在使用DB的登台服务器上。
本地解决方案: