Create, Update, Delete a List Using Client Object Model (CSOM) SharePoint 2013

Introduction

In this article we start the development in the managed client object model. You will need to add references for the Microsoft.SharePoint.Client.dll and Microsoft.SharePoint.ClientRuntime.dll into the assemblies and add the using statement for the Microsoft.SharePoint.Client namespace and start writing the code.

Basic operations using Managed Client Object Model

In the managed client object, you can do all the SharePoint website related tasks such as read and write all the website related properties, create a new SharePoint web site, SharePoint List operations (create new SharePoint lists, retrieve all SharePoint lists in a SharePoint website, insert, update and delete in SharePoint lists), SharePoint Document Library operations (the same as SharePoint List operations).

Much like the server-side object model (that is the other framework for development in SharePoint) CSOM also needs a starting point in the form of a central object that will instantiate and provide access to the client object model. This central object is called the Client Context. The Client Context object orchestrates requests and initiates actions within a site collection. Once the Client Context Object is initialized, it provides information to the site collection or website through that we can access other SharePoint client objects remotely as depicted in the following code.

Example Code

Add the references Microsoft.SharePoint.dll and Microsoft.SharePoint.Client.dll.

Create List Item

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using Microsoft.SharePoint;  
  6. using Microsoft.SharePoint.Client;  
  7. namespace CreateListItem  
  8. {  
  9.     class Program  
  10.     {  
  11.         static void Main(string[] args)  
  12.         {  
  13.             string siteUrl = "http://servername:2525/";  
  14.             ClientContext clientContext = new ClientContext(siteUrl);  
  15.             List oList = clientContext.Web.Lists.GetByTitle("TestList");  
  16.             ListItemCreationInformation listCreationInformation = new ListItemCreationInformation();  
  17.             ListItem oListItem = oList.AddItem(listCreationInformation);  
  18.             oListItem["Title"] = "Hello World";  
  19.             oListItem.Update();  
  20.             clientContext.ExecuteQuery();  
  21.         }  
  22.     }  

Update List Item

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using Microsoft.SharePoint;  
  6. using Microsoft.SharePoint.Client;  
  7.   
  8. namespace UpdateListItem  
  9. {  
  10.     class Program  
  11.     {  
  12.         static void Main(string[] args)  
  13.         {  
  14.             string siteUrl = "http://servername:2525/";  
  15.             ClientContext clientContext = new ClientContext(siteUrl);  
  16.             List oList = clientContext.Web.Lists.GetByTitle("TestList");  
  17.             ListItem oListItem = oList.GetItemById(5);  
  18.             oListItem["Title"] = "Hello World Updated!!!";  
  19.             oListItem.Update();  
  20.             clientContext.ExecuteQuery();  
  21.         }  
  22.     }  

Delete List Item

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using Microsoft.SharePoint;  
  6. using Microsoft.SharePoint.Client;  
  7.   
  8. namespace UpdateListItem  
  9. {  
  10.     class Program  
  11.     {  
  12.         static void Main(string[] args)  
  13.         {  
  14.             string siteUrl = "http://servername:2525/";  
  15.             ClientContext clientContext = new ClientContext(siteUrl);  
  16.             List oList = clientContext.Web.Lists.GetByTitle("TestList");  
  17.             ListItem oListItem = oList.GetItemById();           
  18.             oListItem.DeleteObject();  
  19.             clientContext.ExecuteQuery();  
  20.         }  
  21.     }  

Conclusion

Using the SharePoint Client object model, developers can work with the SharePoint web application remotely.