SharePoint 2010 CSOM获取文档库中文件夹的字段值

时间:2016-07-12 17:42:39

标签: sharepoint sharepoint-2010

使用客户端对象模型,下面的caml查询能够获取文件夹中的项目,但是看到了获取文件夹的方法"这些项目或文件所在的字段值。

+ "<Query>"
            + "   <Where>"
            + "        <Eq><FieldRef Name='FSObjType' /><Value Type='int'>0</Value></Eq>"
            + "   </Where>"
            + "</Query>"

我的检索文件夹信息的代码......

string strFieldValue = string.Empty;
            CamlQuery qryFolder = new CamlQuery();
            qryFolder.ViewXml = @"<View Scope='RecursiveAll'>"
                + "<Query>"
                + "   <Where>"
                + "   <And>"
                + "        <Eq><FieldRef Name='FSObjType' /><Value Type='int'>1</Value></Eq>"
                 + "        <Eq><FieldRef Name='FileRef' /><Value Type='Text'>"+folderName+"</Value></Eq>"
                + "   </And>"
                + "   </Where>"
                + "</Query>"
                + "<ViewFields>"
                + "<FieldRef Name='Title' /><FieldRef Name='FieldValue' /><FieldRef Name='FileRef' />"
                + "</ViewFields>"
                + "</View>";
            qryFolder.FolderServerRelativeUrl = rootFolder;//+@"/"+folderName;

            ListItemCollection itemColl = docs.GetItems(qryFolder);
            context.Load(itemColl);
            context.ExecuteQuery();
            if (itemColl.Count == 1)
            {
                strFieldValue = itemColl[0]["FieldValue"].ToString();
            }

return strFieldValue

当我使用caml查询时,我得到一个值,FSObjType是1,仅用于文件夹...但不幸的是,当FSObjType的查询为0时,我得到null,只查询文件。我的要求是即使你处于文件级别也能获得一个值...不确定我是否正确使用CAML查询...

谢谢, 贾米尔

1 个答案:

答案 0 :(得分:0)

添加到您"<View Scope=\"RecursiveAll\"> "之前查询此+ "<Query>" 更多详情https://sharepoint.stackexchange.com/questions/29405/get-items-under-folder-caml