Значение не может быть нулевым. Имя параметра: objectToSwitchTo — Glassmapper

#c# #razor #sitecore #glass-mapper #sitecore8.1

#c# #бритва #sitecore #glass-mapper #sitecore8.1

Вопрос:

Мы находимся на обновлении 3 sitecore 8.1 и используем последнюю версию Glassmapper (4.2.1.188). Когда мы пытаемся использовать @Editable, это работает для элементов источника данных. Но не для параметров рендеринга.

в .cshtml у нас есть приведенный ниже код:

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

Оба способа не работают, в режиме редактора страницы и при получении ошибки ниже:

Значение не может быть нулевым. Имя параметра: objectToSwitchTo в Sitecore.Диагностика.Утверждение.ArgumentNotNull(аргумент объекта, строковое имя_аргумента) в Sitecore.Обычный.Переключатель 2.Введите(TValue objectToSwitchTo) в Glass.Mapper.Sc.GlassHtml.MakeEditable[T](выражение `1 поле, выражение 1 Стандартный вывод, модель T, параметры объекта, контекстный контекст, база данных Database, TextWriter writer) в Glass .Mapper.ScGlassHtml.cs:строка 582

Класс параметров рендеринга:

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

любые предложения приветствуются.

Ответ №1:

Sitecore не поддерживает редактирование параметров рендеринга через редактор страниц так же, как полей. Вы должны отредактировать параметры рендеринга с помощью окна свойств рендеринга.

Поэтому Glass также не поддерживает это.