根级别的 EventCategory 列表中包含“ categoryname ”列。我需要提取 categoryname 字段的所有值并填充下拉字段(HTML下拉列表或asp.net下拉列表或其他内容)。这个想法是当有人在某处更新列表列时,比如添加一个新类别,它也会反映在下拉列表中。因此,没有人必须真正搞乱代码来更新下拉选项。如果没有服务器编码,这可能吗?
我无法访问服务器。我可以想到两种可能的方式:
答案 0 :(得分:0)
我建议使用一个客户端解决方案,您可以使用AJAX调用通过SharePoint的Web服务检索列表项。如果您使用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,但这很容易。