我目前正在为umbraco进行用户控制,使所有Nodes
取消Node
个名称“功能”......
这一切都有效,直到我想从“内容选择器”属性(名为linkToPage)获取内容。
当我尝试使用GetProperty("linkToPage").Value
时,我得到一个关于它是一个对象的错误。
所以我然后将它添加到var
并进行调试,看到它返回了一些有点奇怪的东西......
var linkIdVar = child.GetProperty("linkToPage");
返回:
- linkIdVar {1081} umbraco.interfaces.IProperty {umbraco.NodeFactory.Property}
- [umbraco.NodeFactory.Property] {1081} umbraco.NodeFactory.Property
Alias "linkToPage" string
Value "1081" string
+ Version {00000000-0000-0000-0000-000000000000} System.Guid
+ Non-Public members
Alias "linkToPage" string
Value "1081" string
+ Version {00000000-0000-0000-0000-000000000000} System.Guid
我似乎无法在没有得到关于它作为对象的错误的情况下获得Int的值...
那么有没有人知道如何解决这个问题,或者知道从Content Picker
获取页面的更好方法?
答案 0 :(得分:2)
我认为你可能需要将值解包为整数,如下所示:
var val = (int) child.GetProperty("linkToPage").Value;
但是,如果属性值的内容不是整数,而是字符串,如调试信息似乎表明的那样,则需要转换为整数,如下所示:
var val = int.Parse(child.GetProperty("linkToPage").Value as string);