2013-01-07 56 views
1

我正在为umbraco制作usercontrol,它需要全部Nodes indside a Node名称“Features”... 而且它一切正常,直到我想从“Content Picker”属性(名为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页面?

回答

2

我想你可能需要将值拆箱到一个整数,比如:

var val = (int) child.GetProperty("linkToPage").Value; 

然而,如果属性值的内容不是整数,而是一个字符串,如调试信息似乎来表示,那么你需要转换为整数,像这样:

var val = int.Parse(child.GetProperty("linkToPage").Value as string); 
+0

我得到'输入字符串的不正确使用format'的最后一个方法... –

+0

这可能是因为当你期望一个整数作为'linkToPage'的内容,这看起来并不总是如此。尝试查看该属性的内容是否属于例外情况。 –

+0

ahh找到解决方案,必须先检查它是否空,然后我得到它... 非常感谢! –