K-M*_*K-M 8 c# asp.net sharepoint wss
我收到了以下错误...
System.NullReferenceException:未将对象引用设置为对象的实例.在Program.cs中的ConsoleApplication1.Program.Main(String [] args)的Microsoft.SharePoint.SPListItem.get_UniqueId()处:第21行
运行以下代码
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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
有什么问题?
Rub*_*ias 10
如果您尝试更改刚刚插入的列表项的值,则应该使用:
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();
}
Run Code Online (Sandbox Code Playgroud)
如果您需要查找要更新的特定项目,您只需要使用list.Items[uniqueId]或更快list.GetItemByUniqueId(uniqueId); 通过使用SPQuery类可以实现什么.