2013-01-07 46 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找到解決方案,必須先檢查它是否空,然後我得到它... 非常感謝! –

相關問題