spquery排序问题
-
12-11-2019 - |
题
我有这个splistitem.folder在sharepoint中包含一个名为“资产ID”的属性。
我在我的列表中有这个数据
.
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,因为列表中的每个条目都是文件集。 返回的值始终为“1”。我不知道我的排序为什么是什么 根本不起作用。
请帮我解决这个问题。谢谢。
解决方案
嗨Carls我认为字段名称有问题。U包括字段名称的空间
如果要避免必须寻找特定字段的内部名称是,请在第一个名称列时,不包含任何空格或特殊字符。创建字段(列)后,返回并重命名字段以包括所需空格或特殊字符。SharePoint仍将在没有空格的情况下保留原始字段名称,您可以在没有问题的情况下直接在查询中使用。
其他提示
或使用其内部名称:
query.query=“
很晚,但如果您有问题,则可以使用以下全部或部分主旨来使用以下内容: https://gist.github.com/trgraglia/4672176
作为已接受的答案状态,字段名称是问题。您需要使用字段的静态名称。静态名称将始终保持不变。即使列已重命名。所以你应该按显示名称从列集中获取列,然后从属性中获取静态名称。