本文介绍了更新SharePoint列表项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我得到了以下错误...
I got following error...
System.NullReferenceException:对象不设置到对象的实例。
在Microsoft.SharePoint.SPListItem.get_UniqueId()
在ConsoleApplication1.Program.Main(字串[] args)在Program.cs中:第21行
运行以下code
using (SPSite site = new SPSite("http://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();
}
}
}
这是什么问题?
推荐答案
如果你想改变一个刚插入列表项的值,你应该去:
If you're trying to alter values for a just inserted list item, you should go with:
SPList list = web.Lists["ListName"];
//SPListItem item = list.Items.Add();
//item["PercentComplete"] = .45; // 45%
//item.Update();
SPListItemCollection items = list.GetItems(new SPQuery()
{
Query = @"<Where>
<Eq>
<FieldRef Name='Title' />
<Value Type='Text'>Desigining</Value>
</Eq>
</Where>"
});
foreach (SPListItem item in items)
{
item["PercentComplete"] = .45; // 45%
item.Update();
}
您只需要使用 list.Items [UNIQUEID]
或更快 list.GetItemByUniqueId(唯一ID)
如果您需要找到一个特定的项目进行更新;有什么可以利用来完成 SPQuery
类。
You just need to use list.Items[uniqueId]
or faster list.GetItemByUniqueId(uniqueId)
if you needs to find a particular item to update; what can be accomplished by using SPQuery
class.
这篇关于更新SharePoint列表项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!