2012-12-26 79 views
1

我在Sitecore中有一個項目,其中包含一個內容部分,它是一個核對清單。此清單包含我已輸入到Sitecore中的多個Active Directory組的名稱。從Sitecore中的內容項中獲取CheckList項目的名稱

當項目加載時,我試圖循環檢查清單中的所有名稱,以便我可以查看用戶是否是這些組中的某個組的成員(如果選中)。

當測試我的代碼時,我無法獲得ID的「顯示」值(不確定這是否是正確的termonology),如「IT_Support_Group」。相反,我只能得到商品標識。

Example: {80B1AEEA-D36C-416C-B5BF-AF5F428E4D31} 

我一直在用下面的代碼的各種版本玩耍,但沒有運氣:

Dim ADCheckList As Sitecore.Data.Fields.MultilistField = Sitecore.Context.Item.Fields("ADGroupAccess") 

    If ADCheckList IsNot Nothing Then 
     For Each ADListName As String In ADCheckList.Items 
      'If IsInGroup(ADListName) and IsADListItemChecked(ADListName) Then 
      ' Response.Write("User is in the " & ADListName & " selected group.<br/>" 
      'End If 
     Next 
    End If 
+0

如果您打開原始值,那麼值是如何存儲的?它是一個管道定義的ID或其他東西的列表? – DougCouto

+0

是的,管道分隔ID的列表 – crjunk

+0

然後,是的,正如你可能已經證實,你所缺少的是對GetItems()的調用。 – DougCouto

回答

1

您是非常接近..你需要調用GetItems()方法(而不是Items屬性),它會將項目ID解析爲Sitecore Item對象的數組。

然後,您可以調用屬性,如item.Name或使用.. item.Fields[FieldName].Value檢索特定字段。