Quantcast
Channel: SharePoint 2013 - Development and Programming forum
Viewing all articles
Browse latest Browse all 7589

Update SharePoint 2013 list item in a site through a visual web part deployed in another site collection

$
0
0

Hi All,

I am having issues when Updating an item field of a list in SharePoint 2013 site from a visual webpart in a different site collection. Posted the code below.

I am the administrator for both the site but I added elevated rights so user can update items.

The problem is when I deploy and run the code there is no error. But the field is not updating.

When I add "itemToUpdate.Update();" after setting the field , I get "Object reference not set to an instance of an object" . I have posted the exception below as well.

Am I missing anything ??? Any help is much appreciated. Thank you in advance.

private void setReviewStatus()
        {
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                string strURL = string.Empty;
                int listItemId;
                using (SPSite oSPsite = new SPSite("XXXX"))
                {

                    using (SPWeb oSPWeb = oSPsite.OpenWeb())
                    {

                        oSPWeb.AllowUnsafeUpdates = true;
                        // Fetch the List

                        SPList Employeelist = oSPWeb.Lists["Employee"];

                        foreach (SPListItem item in Employeelist.Items)
                        {
                            try
                            {
                                SPFieldUrlValue lnkFieldUrlValueurl = new SPFieldUrlValue(item[EmployeeFieldNameAndReviewStates.strURLField].ToString());
                                strURL = lnkFieldUrlValueurl.Url.ToString();
                            }
                            catch (Exception ex)
                            {

                            }

                            if (!string.IsNullOrEmpty(strURL.ToString()))
                            {

                                if (strURL == getCurrentSiteURL())
                                {
                                    try
                                    {
                                        listItemId = item.ID;
                                        SPListItem itemToUpdate = Employeelist.GetItemById(listItemId);

                                        itemToUpdate["Employee Number"] = "458XXX8687";

                                        
                                        Employeelist.Update();

                                        oSPWeb.AllowUnsafeUpdates = false;
                                    }
                                    catch (SPAlertUpdateException ex)
                                    {
                                      
                                    }
                                    break;
                                }
                            }
                        }
                    }
                }
            });
         }

Microsoft.SharePoint.SPException was unhandled by user code
  HResult=-XXX
  Message=Object reference not set to an instance of an object.
  Source=Microsoft.SharePoint
  ErrorCode=-XXX
  NativeErrorMessage=FAILED hr detected (hr = XXX)

  NativeStackTrace=""
  StackTrace:
       at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)
       at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bPreserveItemUIVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bUnRestrictedUpdateInProgress, Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback)
       at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration, Boolean bPublish, Boolean bCheckOut, Boolean bCheckin, Guid newGuidOnAdd, Int32& ulID, Object& objAttachmentNames, Object& objAttachmentContents, Boolean suppressAfterEvents, String filename, Boolean bPreserveItemUIVersion)
       at Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents, String filename, Boolean bPreserveItemUIVersion)
       at Microsoft.SharePoint.SPListItem.Update()
       at VWPStates.KRAWebPart.KRAWebPart.<setReviewStatus>b__0()
       at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass5.<RunWithElevatedPrivileges>b__3()
       at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
  InnerException: System.Runtime.InteropServices.COMException
       HResult=XXX
       Message=<nativehr>XXX</nativehr><nativestack></nativestack>Object reference not set to an instance of an object.
       Source=""
       ErrorCode=-XXX
       StackTrace:
            at Microsoft.SharePoint.Library.SPRequestInternalClass.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bPreserveItemUIVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bUnRestrictedUpdateInProgress, Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback)
            at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bPreserveItemUIVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bUnRestrictedUpdateInProgress, Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback)
       InnerException:


Viewing all articles
Browse latest Browse all 7589

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>