值不能为空。参数名称:objectToSwitchTo - Glassmapper

时间:2016-10-04 10:16:56

标签: c# razor sitecore glass-mapper sitecore8.1

我们正在使用sitecore 8.1 update 3并使用最新版本的Glassmapper(4.2.1.188)。当我们尝试使用@Editable时,它适用于数据源项。但不是渲染参数。

在.cshtml中我们有以下代码:

 var rp = GetRenderingParameters<IEditorialComponent>();
 @Html.Glass().Editable(rp, x => x.Heading)
 @Editable(rp, x => x.Heading)

两种方式都不起作用,在页面编辑器模式下并且低于错误:

  

值不能为空。参数名称:objectToSwitchTo      at Sitecore.Diagnostics.Assert.ArgumentNotNull(Object argument,String argumentName)      在Sitecore.Common.Switcher 2.Enter(TValue objectToSwitchTo)      在Glass.Mapper.Sc.GlassHtml.MakeEditable [T](表达式1字段,表达式1 standardOutput,T模型,对象参数,上下文上下文,数据库数据库,TextWriter编写器)      在\ Glass.Mapper.Sc \ GlassHtml.cs:第582行

渲染参数类:

[SitecoreType(TemplateId = "{templateId}")]
    public partial interface IEditorialComponent : IGlassBase
    {
         [SitecoreField(FieldId = "FieldId")]
         string Body { get; set; }
    }

任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:4)

Sitecore不支持通过页面编辑器以与字段相同的方式使渲染参数可编辑。您必须使用渲染属性窗口编辑渲染参数。

因此,Glass也不支持这一点。