2016-03-09 4 views
0

Le contexte ici est que nous construisons un simple MVC-frontend autonome à une installation de Sharepoint Server (pour des raisons politiques) se connectant par l'API CSOM.Sharepoint CSOM get Type de contenu de la liste Type de contenu

Nous avons défini certains types de contenu au niveau du site que nous utilisons dans différentes bibliothèques de documents et listes sur notre site.

Lorsque vous ajoutez un type de contenu à une bibliothèque de documents ou une liste, le type de contenu est copié dans la liste doclib/et obtient un nouveau guid.

Le nouveau guid est normalement la forme

Parent Content Type ID + "00" + Hexadecimal GUID 

Nous voulons Toutefois, si vous effectuez une recherche puis le type de document renvoyé est le type de contenu réel défini au niveau du site. Cela signifie que nous ne pouvons pas utiliser l'ID du resultrow pour faire un getContentTypeById(). GetName() afin de trouver le nom réel du type de contenu de la ligne de résultat.

D'une certaine manière je dois être en mesure de trouver le parent type de contenu (réelle) de la ligne de résultat sur la base du contenttype enfant avec guid

Parent Content Type ID + "00" + Hexadecimal GUID 

Autrement dit, comment puis-je obtenir:

Parent Content Type ID 

de

Parent Content Type ID + "00" + Hexadecimal GUID 

Répondre

0

Parsing l'ID de type de contenu pour déterminer le nom d'un type de contenu parent semble comme une approche inutilement compliquée.

Si vous êtes en mesure d'acquérir un objet Content Type à partir d'un élément de liste dans le modèle objet côté client, vous pouvez récupérer sa propriété .Parent pour voir son type de contenu parent et toutes les données associées.

+0

Je suis dans le contexte d'un résultat de recherche ne traversant pas une liste. Est-ce qu'un résultat de recherche contient des informations sur les éléments de la liste ou peut-il être casté ou autrement traité comme un élément de liste et obtenir ainsi l'information sur le type de contenu? –

+0

@ user24176 Dans votre question vous avez soulevé (et rejeté) la possibilité d'utiliser la méthode 'getContentTypeById()'; Si vous êtes capable d'utiliser cela pour acquérir l'objet type de contenu enfant de cette façon, vous devriez être capable d'acquérir ensuite le parent de ce type de contenu en utilisant sa propriété parent. C'est-à-dire, tant que les résultats de la recherche proviennent de la même collection de sites. – Thriggle