Per recuperare il riferimento a un content type di una lista SharePoint 2007 (WSS 3 - MOSS) bisogna usare il metodo BestMatch passandogli l'id del content type richiesto.
Questo perchè se abbiamo un content type di sito con id 0x0101 e lo aggiungiamo a una lista, l'id diventa simile a questo 0x010100F7B9EFAC8731496d91A30C0406F5682F. Ovvero viene aggiunta una parte che lo rende univoco a livello di ogni singola lista. Quindi per recuperarlo dobbiamo utilizzare la parte che conosciamo sicuramente (0x0101), ovvero quella a livello si sito.
Ecco un esempio:
C#
//supponendo che list sia un oggetto di tipo SPList
SPContentTypeId idCT = list.ContentTypes.BestMatch(new SPContentTypeId("0x0101"));
L'oggetto idCT di tipo SPContentTypeId servirà, ad esempio, per aggiungere un nuovo item con quel preciso content type.
Potrebbe interessarti anche: