Add Site Column To List Content Type in SharePoint using CSOM

The example in this topic show how to use CSOM to Add Site Column To List Content Type in SharePoint

  • using Microsoft.SharePoint.Client;
  • using System.Linq;
  •  
  • using (ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection"))
  • {
  • // This method may not work for Calculated column
  •  
  • // clientcontext.Web.Lists.GetById - This option also can be used to get the list using List GUID
  • // This value is NOT List internal name
  • List targetList = clientContext.Web.Lists.GetByTitle("a b");
  •  
  • clientContext.Load(targetList.ContentTypes);
  • clientContext.ExecuteQuery();
  • ContentTypeCollection contentTypeCollection = targetList.ContentTypes;
  •  
  • // Mention Target Content Tye Name here
  • ContentType targetContentType = (from contentType in contentTypeCollection where contentType.Name == "Event" select contentType).FirstOrDefault();
  •  
  • // Code to add site column to list content type
  • if (targetContentType != null)
  • {
  • clientContext.Load(targetContentType);
  • Field field = clientContext.Web.AvailableFields.GetByInternalNameOrTitle("ColumnName");
  • clientContext.Load(field);
  • clientContext.ExecuteQuery();
  • FieldLinkCreationInformation fieldCreationInfo = new FieldLinkCreationInformation();
  •  
  • fieldCreationInfo.Field = field;
  • targetContentType.FieldLinks.Add(fieldCreationInfo);
  •  
  • // UpdateChildren - bool, this value indicates whether the children content type(inheriting from this Content Type) needs to be updated
  • targetContentType.Update(false);
  • clientContext.ExecuteQuery();
  • }
  • }

Thank you for reading this article. This code was tested in SharePoint 2013

We value your feedback:

Page URL:

Name:

 

Email:

 
 

Feedback:

 

© 2019 Code SharePoint