如果我知道相关的列表Id,是否可以通过唯一的Id获得SP列表项(不需要编写Caml请求)。
var item = list.GetItemById("CFA9E204-6509-424B-A246-0DE5295C42B2");
当我试图使用此代码获取项时,我收到了一个错误:“输入字符串格式不正确。”
GetItemById()方法有什么问题?
如果它只理解整数Id,为什么它有一个带有字符串参数的重载方法GetItemById()?
编辑
我使用SharePoint客户端对象模型,其中List实体没有GetItemByUniqueId()方法,但是它有GetItemById()方法,它接收字符串或整数Id。
发布于 2012-12-19 12:06:13
试试这个:
SPListItem item = list.GetItemByUniqueId(new Guid("CFA9E204-6509-424B-A246-0DE5295C42B2"));
发布于 2012-12-19 12:00:49
是的,可以通过其惟一的identifier.you来加载一个listitem,可以使用SPList.GetItemByUniqueId方法
发布于 2018-10-12 22:09:45
我能用下面的方法做这件事,如果它看起来可行的话,需要你的建议
CamlQuery cQuery = new CamlQuery();
cQuery.ViewXml = string.Format(@"<View Scope='RecursiveAll'>
<Query>
<Where>
<Eq>
<FieldRef Name='UniqueId' />
<Value Type='Guid'>{0}</Value>
</Eq>
</Where>
</Query>
</View>", id);
//ListItem item = listItem.GetItemById("293");
ListItemCollection itemColl = listItem.GetItems(cQuery);
sp.Context.Load(itemColl);
sp.Context.ExecuteQuery();
ListItem item = itemColl.FirstOrDefault();
https://stackoverflow.com/questions/13951044
复制相似问题