当我尝试使用SPListItem时,我遇到了问题。
这是代码:
string URL = "http://vstkmy36773/Lists/Permissions/DispForm.aspx?ID=6&ContentTypeId=0x0100F385377F0CAD6C438A23B301CE04E7BF"
using (SPSite cSite = new SPSite(URL))
{
using (SPWeb cWeb = cSite.OpenWeb())
{
// SPFile file = cWeb.GetFile(URL);
// SPListItem item = file.Item;
SPListItem item = cWeb.GetListItem(URL);
int id = item.ID;
item["Title"] = id+ " update and get " + URL;
}
}以及输出
System.NullReferenceException:对象引用没有设置为对象的实例。在Custom.Workflow.Activities.AddListItemPermissionAssigment.Execute(ActivityExecutionContext executionContext)
发布于 2013-10-14 17:22:47
从SharePoint的角度来看,这不是实际列表项的正确URL。它只是某个页面的URL,恰好显示了该项,这是不同的。
您需要解析该URL,从其中提取所需的信息(即列表和项ID),然后使用该信息查找项目:
var queryStrings = HttpUtility.ParseQueryString(url);
var listGuid = Guid.Parse(queryStrings["ListId"]);
var itemId = int.Parse(queryStrings["ID"]);
var item = web.Lists[listGuid].GetItemById(itemId);如果您想知道实际的item URL是什么,请打印出item.URL属性,以查看该项的实际内容。这就是您的URL需要包含的代码才能实际工作的内容。
https://stackoverflow.com/questions/19365642
复制相似问题