Microsoft.SharePoint.Client.ServerException元素不存在

时间:2019-10-02 12:56:29

标签: c# sharepoint csom

我收到错误

  

Microsoft.SharePoint.Client.ServerException,位于context.ExecuteQuery();中。

我不知道为什么

        List oList = context.Web.Lists.GetByTitle(comboBoxListes.Text);
        ListItem oListItem; 

        for (int y = 0; y < dataGridView1.Rows.Count; y++)
        {
            oListItem = oList.GetItemById(y);

            for (int x = 0; x < columnNames.Length; x++)
            {
                oListItem[columnNames[x]] = 
                dataGridView1.Rows[y].Cells[x].Value;
            }

            oListItem.Update();
            context.ExecuteQuery();
        }

1 个答案:

答案 0 :(得分:0)

(...)
for (int y = 0; y < dataGridView1.Rows.Count; y++)
        {
            oListItem = oList.GetItemById(y);
(...)

列表项ID并不总是与行号相同。另外,如果我没记错的话,项目ID以1开头。因此,当您尝试获取ID等于0的项目(第一次执行y时,您的GetItemById变量)可能会出现异常。

如果要从列表中取出所有物品,则应尝试以下代码:

var list = ctx.Web.Lists.GetByTitle("list_name");

var items = list.GetItems(CamlQuery.CreateAllItemsQuery(1000)); //Get first 1000 items