1

Nodes私は現在、「機能」という名前のすべてを含むumbracoのユーザーコントロールを作成してい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か?

4

1 に答える 1

2

次のように、値を整数にボックス化解除する必要があると思います。

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

ただし、プロパティ値の内容が整数ではなく文字列である場合、デバッグ情報が示すように、次のように整数に変換する必要があります。

var val = int.Parse(child.GetProperty("linkToPage").Value as string);
于 2013-01-07T10:18:58.803 に答える