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

标签 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)

两种方法都不起作用,在页面编辑器模式下并出现以下错误:

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/

相关文章:

asp.net-mvc - MVC 框架做了什么来避免它从大量使用反射中继承的低性能

asp.net-mvc - @Functions 从父 Razor 布局继承

asp.net - 请求验证 - 在 SiteCore 中如何以及为何禁用它?

c# - (流利的)NHibernate table-per-hierarchy; Id 仅与鉴别器一起唯一

c# - 如何使用 C# 截断表

c# - LINQ GroupBy child 的 child

orm - Sitecore Glass 映射器 GetItem<TypeName>(guid) 始终返回 null

c# - 为什么在我的类中实现接口(interface)时我的类方法不可见?

html - asp.net core波浪号斜杠(~/)不解析图像路径

c# - ASP.net MVC 强类型 View 下拉列表为空