我正在使用 Sharepoint 2010 的 Web 服务界面来尝试获取给定列表的列。使用 GetList() 调用获取所有列没有问题,但问题是我只需要获取用户可以在 Sharepoint UI 的“列表设置”视图中看到的列。
我目前使用的代码如下:
rootNode = serviceReference.GetList(List_id.ToString());
Element element = XElement.Parse(rootNode.OuterXml);
var fields = from e in element.Descendants()
where e.Name.LocalName == "Field" && e.Attribute("ID") != null &&
!(e.Attribute("Name").Value.StartsWith("_") && e.Attribute("SourceID").Value == "http://schemas.microsoft.com/sharepoint/v3")
select e;
其中 serviceReference 是 Sharepoint 列表服务的一个实例,List_id 是表示 Sharepoint 内部列表的 GUID。
这确实过滤掉了一些我不想要的列,但它并没有摆脱一切。
有谁知道我正在寻找哪些属性来将其缩小到用户可以选择添加到视图中的属性?或者我会以完全错误的方式解决这个问题?
非常感谢您的帮助。