2017-06-06 7 views
2

私は内部リンクとして使用されるいくつかの一般的なリンクフィールドを持っているので、Sitecoreアイテムです。Sitecore 8内部リンクの項目を取得する簡単な方法は?

私は私のコードでは、「ターゲット」アイテムという必要がある、と私は恐ろしい、複雑な方法でそれをやっている感があります。

LinkField lf = myItem.Fields["My Link"]; 
if (lf != null) 
{ 
    if (lf.Value != null) 
    { 
     ID targetID; 
     if (ID.TryParse(lf.Value, out targetID)) 
     { 
      Item targetItem = Sitecore.Context.Database.GetItem(targetID); 
      { 
       if (targetItem != null) 
       { 
        // go on with code 
       } 
      } 
     } 
    } 
} 

誰かがこの目的の項目を取得するために、より簡単な方法を知っています?あなたは、カスタムコードなしでLinkFieldTargetItemプロパティを使用することができます

答えて

2

よろしく:

Item targetItem; 

LinkField linkField = myItem.Fields["My Link"]; 
if (linkField != null && linkField.IsInternal) 
{ 
    targetItem = linkField.TargetItem; 
} 
+0

おかげマレクが、これは簡単です:) @ – Bgl86

+0

Bgl86私は:) –

+0

こんにちはマレクを助けることができる嬉しいです。私はちょうどそれをテストした、それは今働いている。 TargetItemはNullです。 ValueプロパティのみがItem Guidを持ちます。私はフィールドとしてDropTreeを使用しています – Bgl86

関連する問題