我在sharepoint中有这个SPListItem.Folder,它包含一个名为"Asset“的属性。
我的列表中有这些数据,
Asset ID | Name | Asset Type
1 | GamesFolder | Games
2 | AppsFolder | softwares
3 | MusicFolder | music在我的代码中我做了这个
SPList objList = web.Lists["MyList"];
SPQuery query = new SPQuery();
query.Query = "<OrderBy><FieldRef Name='Asset ID' Ascending='FALSE'/></OrderBy>";
query.ViewAttributes = "Scope=\"Recursive\"";
query.RowLimit = 1;
SPListItemCollection items = objList.GetItems(query);
return objList.Items[0].Folder.Properties["Asset ID"].ToString();我使用.Folder,因为列表中的每个条目都是DocumentSet。返回的值总是"1“。我不知道怎么回事,为什么我的分类不起作用。
请帮我解决这个问题。谢谢。
发布于 2012-02-24 10:29:17
嗨,Carls,我想有关于字段名的问题。U在字段名中包含空格。
如果您想避免找出特定字段的内部名称,当您给列起名时,不要包含任何空格或特殊字符。创建字段(列)后,返回并重命名该字段,以包括所需的空格或特殊字符。SharePoint仍将保留原始字段名,不带空格,您可以在查询中直接使用该字段名而不存在任何问题。
发布于 2013-12-06 00:44:21
或者使用它的internalName:
query.Query = "";
发布于 2014-10-07 17:01:17
有点晚,但如果您有问题,您可能可以使用以下要点的全部或部分:https://gist.github.com/trgraglia/4672176
正如公认的答案所述,字段名是问题所在。您需要使用该字段的静态名称。静态名称将始终保持不变。即使该列被重命名。因此,您应该通过显示名称从列集合中获取列,然后从属性中获取静态名称。
https://stackoverflow.com/questions/9428361
复制相似问题