使用CAML查询在sharepoint中查询列表项

时间:2011-05-24 15:52:57

标签: sharepoint sharepoint-2010 caml sharepoint-api

我有一个包含三列的列表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;

但我没有采用这种方法。任何人都可以给我一个有效的解决方案吗?

1 个答案:

答案 0 :(得分:1)

您的查询看起来格式正确,但无法访问您的环境,因此调试非常困难。一个常见问题是列的显示名称与其内部名称不匹配。

我能告诉你的最好的事情是获得一个名为U2U CAML Query Builder的免费程序的副本。 2007版本适用于SP 2010。

如果您与SharePoint安装不在同一个框中,请使用“SharePoint Web服务”进行连接。如果是,则“对象模型”或“Web服务”选项都可以使用。

登录后,指向列表并使用UI构建查询。最好的事情是你可以按显示名称选择列,但它使用内部名称构建查询。这是一种快速尝试查询的方法,可以立即获得有关返回内容的反馈。

当您获得有效的查询时,只需将其从实用程序的窗口复制到您的代码中即可。