2010-02-23 18 views
3

我正在构建我的组织(访问search.asmx Web服务的AJAX应用程序)的电话目录。 我想显示一个列表框,用户可以选择一个部门(存储在托管属性Department中)。要用值填充列表框,我需要以某种方式选择该属性的所有不同值。 有没有可能通过search.asmx网络服务?如何通过SharePoint搜索获取托管属性的不同值?

什么,我发现:

  • 的文章,which states that it is possible,但它并没有使用Web服务接口
  • 其中规定微软的white paper,“如果协议客户端指定的至少一种特性,它也必须指定Path属性,否则协议服务器必须返回状态码“ERROR_BAD_QUERY”。

这两个发现有些不一致。 (并且,搜索确实返回ERROR_BAD_QUERY)。

+0

你可以用API做的大部分事情都可以通过Web服务完成。我会检查是否可以转换该代码。 – Jonesie 2010-02-27 19:48:52

回答

0

为什么要麻烦检查Web服务或使其复杂化?

  1. 获取所有属性到一个DataTable中。
  2. 然后创建一个DataView &然后你可以在必需的列上应用DISTINCT。
  3. 最后用它来绑定到你的列表框。
+0

谢谢你,这个想法很好。事情是,我正在寻找一个有效的解决方案。当您选择数据存储中的所有项目时,SharePoint搜索引擎会变慢。所以,唯一的选择是这样的,如果我每天加载所有项目并将列表存储在缓存中。 – naivists 2012-11-21 05:34:36

相关问题