C# Umbraco getpropertyvalue在live上不起作用

C# Umbraco getpropertyvalue在live上不起作用,c#,model-view-controller,umbraco,umbraco7,C#,Model View Controller,Umbraco,Umbraco7,我有一个helper方法,可以在本地环境下完美地工作,但是不想在dev服务器上工作。我使用了各种各样的日志来找出问题所在。它也会获取当前节点和主页,但是当它尝试使用GetPropertyValue时,返回为null 错误消息System.NullReferenceException:对象引用未设置为对象的实例。,因为我稍后将尝试使用此值 代码: var helper=新的UmbracoHelper(UmbracoContext.Current); var homepage=helper.Type

我有一个helper方法,可以在本地环境下完美地工作,但是不想在dev服务器上工作。我使用了各种各样的日志来找出问题所在。它也会获取当前节点和主页,但是当它尝试使用
GetPropertyValue
时,返回为null

错误消息
System.NullReferenceException:对象引用未设置为对象的实例。
,因为我稍后将尝试使用此值

代码:

var helper=新的UmbracoHelper(UmbracoContext.Current);
var homepage=helper.TypedContent(UmbracoContext.Current.PageId).AncestorOrSelf(1);
var test=homepage.Children.First(x=>x.DocumentTypeAlias==“test”);
Dictionary testDict=test.GetPropertyValue(“testOptions”);
有什么想法吗


它甚至可以找到test节点上的所有内容,但testDict为null,这可能是以下情况之一:

  • 该属性不在live site节点上,请检查doctype以确保该属性存在,也可能是live上的字段别名中存在键入错误,或者字段别名不同
  • 有一个属性转换器处理尚未部署到live的转换

检查这两个,看看这是否是问题所在。如果不是这样,只需将字段的值作为字符串获取,然后查看其中有什么内容,字段是空的,还是其中有什么内容?

您是否尝试过调试以查看
test.GetPropertyValue(“testOptions”)
中使用了什么类型的属性编辑器?同时尝试重新发布网站以清除服务器端缓存:go to cache已被清除,使用了键值对属性编辑器,并且
test。GetPropertyValue(“testOptions”)
返回为null。
            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");