Set List Content Type Read Only in SharePoint using CSOM

The example in this topic show how to use CSOM to Set List Content Type Read Only in SharePoint

  • using Microsoft.SharePoint.Client;
  • using System.Linq;
  •  
  • using (ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection"))
  • {
  • List TargetList = null;
  •  
  • // clientcontext.Web.Lists.GetById - This option also can be used to get the list using List GUID
  • // This value is NOT List internal name
  • TargetList = clientContext.Web.Lists.GetByTitle("List Name");
  • clientContext.Load(TargetList);
  •  
  • // Load List conntent types
  • clientContext.Load(TargetList.ContentTypes);
  • clientContext.ExecuteQuery();
  •  
  • // Write Content Type name over here
  • string contentTypeName = "Event";
  •  
  • // Get list content types
  • ContentTypeCollection contentTypeCollection = TargetList.ContentTypes;
  •  
  • // Get target content type from list content types
  • ContentType targetContentType = (from contentType in contentTypeCollection where contentType.Name == contentTypeName select contentType).FirstOrDefault();
  •  
  • // Code to set Content type read only.
  • if (targetContentType != null)
  • {
  • targetContentType.ReadOnly = true;
  •  
  • // UpdateChildren - bool, this value indicates whether the children content type(inheriting from this Content Type) needs to be updated
  • targetContentType.Update(false);
  • TargetList.Update();
  • clientContext.ExecuteQuery();
  • }
  • }

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


© 2019 Code SharePoint