Csharp/C#教程:更新Sharepoint列表项分享


更新Sharepoint列表项

我收到了以下错误…

System.NullReferenceException:未将对象引用设置为对象的实例。 在Program.cs中的ConsoleApplication1.Program.Main(String [] args)的Microsoft.SharePoint.SPListItem.get_UniqueId()处:第21行

运行以下代码

using (SPSite site = new SPSite("https://site/")) { using (SPWeb web = site.OpenWeb()) { try { SPList list = web.Lists["ListName"]; // 2 SPListItem item = list.Items.Add(); Guid itemId = item.UniqueId; SPListItem itemUpdate = web.Lists["ListName"].Items[itemId]; itemUpdate["PercentComplete"] = .45; // 45% itemUpdate.Update(); } catch (Exception e) { Console.WriteLine(e); Console.ReadLine(); } } } 

有什么问题?

如果您正在尝试更改刚刚插入的列表项的值,则应该使用:

 SPList list = web.Lists["ListName"]; //SPListItem item = list.Items.Add(); //item["PercentComplete"] = .45; // 45% //item.Update(); SPListItemCollection items = list.GetItems(new SPQuery() { Query = @"   Desigining  " }); foreach (SPListItem item in items) { item["PercentComplete"] = .45; // 45% item.Update(); } 

您只需要使用list.Items[uniqueId]或更快的list.GetItemByUniqueId(uniqueId)如果您需要查找要更新的特定项目; 使用SPQuery类可以实现什么。

鲁本的答案是正确的但是得到的错误很少(可能只是对我来说)因此我稍微调整一下然后它工作正常。 下面是我使用的代码,如果有人需要它

  SPList list = web.Lists["ListName"]; //SPListItem item = list.Items.Add(); //item["PercentComplete"] = .45; // 45%//item.Update(); SPQuery oQuery = new SPQuery(); oQuery.Query = @"   Design  "; SPListItemCollection collListItems = list.GetItems(oQuery); foreach (SPListItem item in collListItems) { item["PercentComplete"] = .55; item.Update();} 

在获取UniqueID之前,尝试在列表上调用Update()

  SPList list = web.Lists["ListName"]; // 2 SPListItem item = list.Items.Add(); item["Title"] = "Test"; item.Update (); list.Update (); Guid itemId = item.UniqueId; 

我最好的问题是,当您执行以下操作时,您的项目尚未在列表中创建:

 Guid itemId = item.UniqueId; SPListItem itemUpdate = web.Lists["ListName"].Items[itemId]; 

首先在请求uniqueId和/或从列表中获取项目之前执行item.Update()。

PS:我认为你没有理由得到第二个SPItem对象来更新’PercentComplete’信息。

上述就是C#学习教程:更新Sharepoint列表项分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/954527.html

(0)
上一篇 2021年11月20日
下一篇 2021年11月20日

精彩推荐