我知道已经问过类似的问题,但是使用 Sharepoint 对象模型检索 Choice 字段的所有项目。我没有可用的对象模型。我想使用 CAML 或其他东西来做到这一点。我想不出一个 CAML 查询来获取选择字段的所有项目。
任何指向正确方向的指针都将不胜感激。
问候。
我知道已经问过类似的问题,但是使用 Sharepoint 对象模型检索 Choice 字段的所有项目。我没有可用的对象模型。我想使用 CAML 或其他东西来做到这一点。我想不出一个 CAML 查询来获取选择字段的所有项目。
任何指向正确方向的指针都将不胜感激。
问候。
您可以使用 Web 服务调用吗?该线程解释了从 Web 服务中读取多项选择: http: //social.msdn.microsoft.com/Forums/en/sharepointdevelopment/thread/04a00936-7102-4ddc-aa7d-0be7e14e7692 此后续帖子可能有用,也是: http: //mysharepointwork.blogspot.com/2009/10/sharepoint-web-services-get-choice.html
实际上还有另一种使用 Xelements 获取值的方法
using (var service = new SharePoint.Services.ListsSoapClient())
{
service.ClientCredentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
var listName = "MyList";
var xelement = service.GetList(listName);
var fieldName = "Category"; //My Field name
XNamespace ns = "http://schemas.microsoft.com/sharepoint/soap/";
var selectedField = xelement.Descendants(ns + "Fields").Elements().Where(x => x.Attribute("Name").Value == fieldName).FirstOrDefault();
if (selectedField != null)
{
var choices = selectedField.Elements(ns + "CHOICES").Elements().Where(x => x.Name == ns + "CHOICE").Select(x => x.Value).ToList();
//Do something with choices
}
}