从sharepoint列表项填充下拉列表值

时间:2012-01-05 20:45:38

标签: sharepoint list drop-down-menu populate

根级别的 EventCategory 列表中包含“ categoryname ”列。我需要提取 categoryname 字段的所有值并填充下拉字段(HTML下拉列表或asp.net下拉列表或其他内容)。这个想法是当有人在某处更新列表列时,比如添加一个新类别,它也会反映在下拉列表中。因此,没有人必须真正搞乱代码来更新下拉选项。如果没有服务器编码,这可能吗?

我无法访问服务器。我可以想到两种可能的方式:

  1. sharepoint的客户端;或
  2. 将spdatasource绑定到ASP.NET下拉列表。 任何人都可以给我任何想法吗?

1 个答案:

答案 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,但这很容易。