将Sharepoint中的当前字段数据保存到列表的另一个实例

时间:2019-05-22 16:45:24

标签: c# sharepoint

我试图通过C#连接到SharePoint列表并循环浏览,直到在列表中找到具有特定功能的项目,然后我想保存该项目中的某些数据并将其复制到另一个项目中。我收到Microsoft.SharePoint.Client.PropertyOrFieldNotInitializedException error.

//connect to the SharePoint site
ClientContext context = new ClientContext(@"https://website");
List list = context.Web.Lists.GetByTitle("listName");
ListItemCollection items = list.GetItem(CamlQuery.CreateAllItemsQuery());


context.Load(items);
context.ExecuteQuery();

//loop through items
foreach (var listItem in items)
{
            string tmp = null;
            if (listItem["fieldName"] != null) 
// this is where get the error when I reach one that isn't null
            {

               if (listItem["fieldName"].ToString() == "criteria")
                {
                    tmp = listItem["fieldName"].ToString();

                    foreach (var listItem2 in items)
                    {
                        if (listItem2["criteria2"].ToString() == tmp)
                        {
                            listItem2["fieldName"] = tmp;
                            listItem2.Update();
                        }
                        break;
                    }
                    break;
                }
            }

    }

尝试获取listItem["fieldname"]中的值并将其保存,然后将其复制到listItem2["fieldname"]中。

当前,我收到一个错误:Microsoft.SharePoint.Client.PropertyOrFieldNotInitializedException错误。

1 个答案:

答案 0 :(得分:0)

尝试加载该字段。

 ClientContext context = new ClientContext(@"http://SP13");
            List list = context.Web.Lists.GetByTitle("List23");
            ListItemCollection items = list.GetItems(CamlQuery.CreateAllItemsQuery());

            context.Load(items, item => item.Include(i => i["Title"], i => i["richtext"]));
            context.ExecuteQuery();
相关问题