【问题标题】:populate dropdown values from sharepoint list items从共享点列表项填充下拉值
【发布时间】:2012-02-03 16:38:07
【问题描述】:
在根级别有 EventCategory 列表,列“categoryname”。我需要提取 categoryname 字段的所有值并填充下拉字段(HTML 下拉列表或 asp.net 下拉列表或其他)。这个想法是当某人在某处更新列表列时,比如添加了一个新类别,它也会反映在下拉列表中。所以没有人必须真正弄乱代码来更新下拉选项。如果没有服务器编码,这可能吗?
我无权访问服务器。我可以想到两种可能的方法:
- 共享点的客户端;或
- 将 spdatasource 绑定到 ASP.NET 下拉列表。
谁能给我任何想法?
【问题讨论】:
标签:
sharepoint
list
drop-down-menu
populate
【解决方案1】:
我建议您使用 AJAX 调用通过 SharePoint 的 Web 服务检索列表项的 cientside 解决方案。如果您使用 Darren Johntstones “SPAPI” 库(Sharepoint ASMX Web 服务的包装器),这很容易做到。原来的站点已经死了,但是你可以从一个(文档稍微少一点的)镜像下载它:http://zer0c00l.in/wiki/index.php?title=SharePoint_SPAPI_HowTO
例如,要从列表中加载项目,您只需进行这样的 JavaScript 调用:
var items = lists.getListItems('categories',
'', //default view
'<Query><OrderBy><FieldRef Name="ID"/></OrderBy></Query>', // CAML query
'<ViewFields><FieldRef Name="Title"/></ViewFields>',
0, // rowlimit (retrieve all)
'' // queryoptions
);
然后你必须解析响应 XML,但这很容易。