Add Column To Site Content Type in SharePoint using CSOM

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

  • using Microsoft.SharePoint.Client;
  • using System.Linq;
  •  
  • using (ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection"))
  • {
  • // Get all the content types from current site
  • ContentTypeCollection oContentTypeCollection = clientcontext.Web.ContentTypes;
  •  
  • // Load content type collection
  • clientcontext.Load(oContentTypeCollection);
  • clientcontext.ExecuteQuery();
  •  
  • // Give content type name over here
  • ContentType targetContentType = (from contentType in oContentTypeCollection where contentType.Name == "Content Type Name" select contentType).FirstOrDefault();
  •  
  • clientcontext.Load(targetContentType);
  • clientcontext.ExecuteQuery();
  •  
  • Field targetField = clientcontext.Web.AvailableFields.GetByInternalNameOrTitle("Column Name");
  •  
  • FieldLinkCreationInformation fldLink = new FieldLinkCreationInformation();
  • fldLink.Field = targetField;
  •  
  • // If uou set this to "true", the column getting added to the content type will be added as "required" field
  • fldLink.Field.Required = false;
  •  
  • // If you set this to "true", the column getting added to the content type will be added as "hidden" field
  • fldLink.Field.Hidden = false;
  •  
  • targetContentType.FieldLinks.Add(fldLink);
  • targetContentType.Update(false);
  •  
  • clientcontext.ExecuteQuery();
  • }

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


© 2019 Code SharePoint