如何解决使用CAML查询在共享点中查询列表项
| 我有一个包含三列的列表:1)标题,2)LoginUser 3)ParentSiteAccess。如果特定用户已登录,则需要获取第三列的值(即ParentSiteAccess)。 我正在使用下面的查询来获取它。query.Query = @\"<Where><Eq><FieldRef Name=\'LoginUser\'/><Value Type=\'Text\'>\" + userName + \"</Value></Eq></Where>\";
query.ViewFields = \"<FieldRef name=\'ParentSiteAccess\'/><FieldRef name=\'LoginUser\'/>\";
query.ViewFieldsOnly = true;
但是我不接受这种方法。有人可以给我有效的解决方案吗?
解决方法
您的查询看起来格式正确,但是如果无法访问您的环境,则很难调试。常见的问题是列的显示名称与其内部名称不匹配。
我能告诉您的最好的事情是,获得一个名为U2U CAML Query Builder的方便,免费的程序的副本。 2007版本与SP 2010配合良好。
如果您与SharePoint安装不在同一框中,请使用“ SharePoint Web服务”进行连接。如果是这样,则\“ Object Model \”或\“ Web Services \”选项将起作用。
登录后,指向您的列表并使用UI来构建查询。最好的是,您可以按列的显示名称来选择列,但是它使用其内部名称来构建查询。这是一种试验查询并获得有关其返回内容的即时反馈的快速方法。
当您收到有效的查询时,只需将其从实用程序的窗口复制并复制到您的代码中即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。