0

我想为我的 Sitecore 项目创建一个继承自 Sitecore 富文本字段 (Sitecore.Shell.Applications.ContentEditor.RichText) 的自定义字段。该字段将是一个只读字段,我希望我的代码在该字段被加载/显示时运行并且我需要覆盖该值。我看到的是我的代码确实运行了。但是,当我在 Sitecore 中查看内容项时,富文本字段中没有显示任何内容。如果我单击显示编辑器按钮或编辑 HTML 按钮来查看 HTML,我的 HTML 内容就在那里。如果我随后关闭小 Sitecore 弹出窗口并返回内容项,我现在可以看到我的 HTML。问题是我第一次来到屏幕时它不显示。我觉得我没有覆盖基本控制的正确方法。这是我的代码

public class MyCustomField : Sitecore.Shell.Applications.ContentEditor.RichText
{
  protected override void OnLoad(EventArgs e)
  {
    ...insert custom code here to build HTML string...
    base.Value = _myHTML;
    base.OnLoad(e);
  }
}
4

1 回答 1

1

我想到了。我覆盖了错误的方法。一旦我将它切换为覆盖 OnPreRender 方法,它就可以正常工作。代码应如下所示:

public class MyCustomField : Sitecore.Shell.Applications.ContentEditor.RichText
{
  protected override void OnPreRender(EventArgs e)
  {
    ...insert custom code here to build HTML string...
    this.Value = _myHTML;
    base.OnPreRender(e);
  }
}
于 2013-08-19T21:17:57.557 回答