使用内容选择器时返回奇怪的对象

时间:2013-01-07 10:12:12

标签: c# user-controls umbraco

我目前正在为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获取页面的更好方法?

1 个答案:

答案 0 :(得分:2)

我认为你可能需要将值解包为整数,如下所示:

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

但是,如果属性值的内容不是整数,而是字符串,如调试信息似乎表明的那样,则需要转换为整数,如下所示:

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