我们使用的是 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)
两种方法都不起作用,在页面编辑器模式下并出现以下错误:
Value cannot be null. Parameter name: objectToSwitchTo at Sitecore.Diagnostics.Assert.ArgumentNotNull(Object argument, String argumentName) at Sitecore.Common.Switcher 2.Enter(TValue objectToSwitchTo) at Glass.Mapper.Sc.GlassHtml.MakeEditable[T](Expression`1 field, Expression 1 standardOutput, T model, Object parameters, Context context, Database database, TextWriter writer) in \Glass.Mapper.Sc\GlassHtml.cs:line 582
渲染参数类:
[SitecoreType(TemplateId = "{templateId}")]
public partial interface IEditorialComponent : IGlassBase
{
[SitecoreField(FieldId = "FieldId")]
string Body { get; set; }
}
如有任何建议,我们将不胜感激。
最佳答案
Sitecore 不支持通过页面编辑器以与字段相同的方式编辑渲染参数。您必须使用渲染属性窗口编辑渲染参数。
因此 Glass 也不支持此功能。
关于c# - 值不能为空。参数名称: objectToSwitchTo - Glassmapper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39849731/