Umbraco getpropertyvalue не работает в прямом эфире
У меня есть вспомогательный метод, который отлично работает на локальном, но не хочет работать на сервере Dev. Я использовал все виды журналов, чтобы выяснить, в чем проблема. Он также получает текущий узел и домашнюю страницу, однако, когда он пытается использовать GetPropertyValue<Dictionary<string, string>>
это возвращается как ноль.
Сообщение об ошибке System.NullReferenceException: Object reference not set to an instance of an object.
как я пытаюсь использовать это значение позже по линии.
Код:
var helper = new UmbracoHelper(UmbracoContext.Current);
var homepage = helper.TypedContent(UmbracoContext.Current.PageId).AncestorOrSelf(1);
var test = homepage.Children.First(x => x.DocumentTypeAlias == "test");
Dictionary<string, string> testDict = test.GetPropertyValue<Dictionary<string, string>>("testOptions");
Есть идеи?
Он находит все, даже тестовый узел, но testDict имеет значение null
1 ответ
Вне моей головы, это может быть одним из следующих:
- Свойство не находится на узле действующего сайта, проверьте тип документа, чтобы убедиться, что свойство существует, возможно, в опечатке псевдонима поля в действии имеется опечатка, или псевдоним поля отличается
- Существует конвертер свойств, который обрабатывает конвертацию, которая не была развернута для прямой трансляции.
Проверьте оба из них, чтобы увидеть, если это проблема. Если это не так, просто получите значение поля в виде строки и посмотрите, что там, поле пустое или там что-то есть?