In Focus

Retrieve SharePoint Lookup Field Value Via C#

Get and set a SharePoint Lookup Field via SSOM C#. In this article, I have explained how to get & set SharePoint lookup field (single/multiple) values programmatically via Server Side Object Model in C#.

In this article, we will explain how to programmatically -

  • Set a SharePoint Lookup Field (Multiple Values) via SSOM C#.
  • Get a SharePoint Lookup Field (Multiple Values) via SSOM C#.
  • Set a SharePoint Lookup Field (Single Value) via SSOM C#.
  • Get a SharePoint Lookup Field (Single Value) via SSOM C#.

SET SPLOOKUP FIELD (MULTIPLE VALUES) USING SSOM C#
  1. using(SPSite site = SPContext.Current.Site) {  
  2.     using(SPWeb web = site.OpenWeb()) {  
  3.         // Allow Unsafe Updates to prevent the cross site scripting  
  4.         web.AllowUnsafeUpdates = true;  
  5.         // Get The SPList  
  6.         SPList list = web.Lists["List Name"];  
  7.         // Add a new list item  
  8.         SPListItem item = list.Items.Add();  
  9.         // Set the default Title field  
  10.         item["Title"] = "string value";  
  11.         //Set Lookup Field - Multiple Values  
  12.         SPFieldLookupValueCollection itemValues = new SPFieldLookupValueCollection();  
  13.         foreach(ListItem litem in your collection) {  
  14.             itemValues.Add(new SPFieldLookupValue("A 32-bit integer that specifies the ID of the lookup field""A string that contains the value of the lookup field"));  
  15.         }  
  16.         item["The Lookup Field Name"] = itemValues;  
  17.         // Submit your Item  
  18.         item.Update();  
  19.         web.AllowUnsafeUpdates = false;  
  20.     }  
  21. }  
GET SPLOOKUP FIELD (MULTIPLE VALUES) USING SSOM C#
  1. using(SPSite site = SPContext.Current.Site) {  
  2.     using(SPWeb web = site.OpenWeb()) {  
  3.         // Get The SPList  
  4.         SPList list = web.Lists["LookupField"];  
  5.         // Get a list item By ItemID  
  6.         SPListItem item = list.GetItemById("A 32-bit integer that specifies the ID of List Item");  
  7.         //Get Lookup Field - Multiple Values  
  8.         SPFieldLookupValueCollection MultipleValues = item["The Lookup Field Name"] as SPFieldLookupValueCollection;  
  9.         foreach(SPFieldLookupValue itemValue in MultipleValues) {  
  10.             ListItem litem = new ListItem();  
  11.             litem.Text = itemValue.LookupValue;  
  12.             litem.Value = itemValue.LookupId.ToString();  
  13.             dropdownlist.Items.Add(litem);  
  14.         }  
  15.     }  
  16. }  
SET SPLOOKUP FIELD (SINGLE-VALUE) Via SSOM C#
  1. using(SPSite site = SPContext.Current.Site) {  
  2.     using(SPWeb web = site.OpenWeb()) {  
  3.         // Allow Unsafe Updates to prevent the cross site scripting  
  4.         web.AllowUnsafeUpdates = true;  
  5.         // Get The SPList  
  6.         SPList list = web.Lists["List Name"];  
  7.         // Add a new list item  
  8.         SPListItem item = list.Items.Add();  
  9.         // Set the default Title field  
  10.         item["Title"] = "String Value";  
  11.         //Set the Lookup Field - Single Value  
  12.         item["The Lookup Field Name"] = new SPFieldLookupValue("A 32-bit integer that specifies the ID of the lookup field""A string that contains the value of the lookup field");  
  13.         // Submit your Item  
  14.         item.Update();  
  15.         web.AllowUnsafeUpdates = false;  
  16.     }  
  17. }  
GET SPLOOKUP FIELD (SINGLE-VALUE) USING SSOM C#
  1. using(SPSite site = SPContext.Current.Site) {  
  2.     using(SPWeb web = site.OpenWeb()) {  
  3.         // Get The SPList  
  4.         SPList list = web.Lists["List Name"];  
  5.         // Get a list item By ItemID  
  6.         SPListItem item = list.GetItemById("A 32-bit integer that specifies the ID of List Item");  
  7.         //Get Lookup Field - Single Value  
  8.         SPFieldLookupValue SingleValue = new SPFieldLookupValue(item["The Lookup Field Name"].ToString());  
  9.         int SPLookupID = SingleValue.LookupId;  
  10.         string SPLookupValue = SingleValue.LookupValue;  
  11.     }  
  12. }  
DOWNLOAD

You can download the full solution at SharePoint Lookup Field Operations via SSOM C#.

CONCLUSION

In this article, I have explained how to get and set SharePoint lookup field (single/multiple) values programmatically via Server Side Object Model in C#.