Latest Posts

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
  • Please follow the steps below to execute the code in Visual Studio using Console Application. You can customize the solution according to your requirements.
  • Check the article to Connect to SharePoint context using CSOM. This is very helpful if you are doing any programming in CSOM.
  • Don't forget to use the assemblies as mentioned in the code.

How to run CSOM code in SharePoint?

  • Open your Visual Studio.
  • From the template, select Console Application as shown in the screenshot
  • Select the .Net Framework version from the top drop-down as well. You can also change the .Net Framework after creating the solution.
  • Enter Project Name, Location and Solution Name and click on OK.
  • create console application using Visual Studio
  • Now your program.cs file will open. Copy the code in main function.
  • Once you are done with your code, just hit F5 or Run the application.

  • 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:


Suggestion:

© 2024 Code SharePoint