2016-09-09 58 views
0

我使用SharePoint 2013客戶端上下文將事件接收器代碼轉換爲遠程事件接收器。使用客戶端上下文(CSOM)獲取最接近匹配的內容類型屬性的最佳方法是什麼?

var documentList = clientContext.Web.GetList(Constants.DocumentsListUrl); 
var classifiedContentTypeId = documentList.ContentTypes.BestMatch(new 
SPContentTypeId("0x0120D52000155C54BB8DF04DE78D5F78461B236DEF")); 
var classifiedContentType = 
documentList.ContentTypes[classifiedContentTypeId]; 

請注意,如果搜索找到兩個匹配項,則會返回較短的ID。例如,如果0x0101是參數,並且集合包含0x010109和0x01010901,則該方法返回0x010109。

List.ContentTypes.BestMatch方法可用於在SSOM中獲得最接近的匹配。 CSOM中正確的方法是什麼? 在此先感謝

回答

0

一個想法是利用

ContentType.Id.IsChildOf() 

方法,然後用字符串的方法來選擇最短的Guid?

+0

謝謝您的建議,isChildof在CSOM中不可用 您有任何邏輯從集合中獲取最短的GUID嗎? – kalimuthu

+0

您可以使用簡單的「包含」方法獲取子內容類型。子內容類型始終包含父內容類型的標識。所以通過使用包含和比較長度,你可以繞過這種缺乏其他方法。不是最好的解決方案,但你應該沒問題 – Verthosa

相關問題