首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从绝对网址中获取SPListItem?

如何从绝对网址中获取SPListItem?
EN

Stack Overflow用户
提问于 2013-10-14 17:16:59
回答 1查看 6.6K关注 0票数 1

当我尝试使用SPListItem时,我遇到了问题。

这是代码:

代码语言:javascript
复制
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)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-14 17:22:47

从SharePoint的角度来看,这不是实际列表项的正确URL。它只是某个页面的URL,恰好显示了该项,这是不同的。

您需要解析该URL,从其中提取所需的信息(即列表和项ID),然后使用该信息查找项目:

代码语言:javascript
复制
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需要包含的代码才能实际工作的内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19365642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档