[英]How do I get the SPListItem from absolute URL?
嘗試使用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執行上下文)
從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);
如果您想知道實際的商品URL是什么,請打印出item.URL
屬性以查看該商品的實際含義。 這就是您的URL需要包含的內容,您的代碼才能真正起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.