首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >项目计数应为10,但为0

项目计数应为10,但为0
EN

Stack Overflow用户
提问于 2010-12-14 12:47:07
回答 3查看 1.1K关注 0票数 1

items.count应至少为10。我有10个子文件夹(版本1 .....Release 10)在此文档库中使用"Auto Cad“,每个子文件夹都有一个名为license.txt的文件。嗯,为什么这不返回任何文件?

代码语言:javascript
复制
private void btnGetFileGuid_Click(object sender, EventArgs e)
{ 

using (SPSite site = new SPSite("https://www.abc.com/sites/Software"))
 { 
 using (SPWeb web = site.OpenWeb())
 { 
  SPList spList = web.Lists["Auto Cad"];
  string fileName = "license.txt"; 
  SPQuery query = new SPQuery(); 
  query.Query="<Where><Eq><FieldRef Name='FileLeafRef' /><Value Type='Text'>" + fileName + "</Value></Eq></Where>"; 
  SPListItemCollection items = spList.GetItems(query); 
  if (items.Count > 0) 
   { 
    Guid id = items[0].UniqueId; 
    lblGuid.Text = id.ToString(); 
   } 
  }
 } 
}  
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-14 18:08:52

SPQuery仅搜索特定文件夹-要递归搜索子文件夹,您需要设置

SPQuery.ViewAttributes = "Scope=\"Recursive\"";

所以你的代码应该是

代码语言:javascript
复制
SPQuery query = new SPQuery(); 
query.ViewAttributes = "Scope=\"Recursive\"";
query.Query=".... REST OF YOUR CODE HERE "
票数 0
EN

Stack Overflow用户

发布于 2010-12-14 12:53:17

代码语言:javascript
复制
query.Query="" + fileName + "";

这条线是错的。这应该是CAML查询,而不是文件名。

票数 0
EN

Stack Overflow用户

发布于 2010-12-14 19:48:50

您需要使用下面提供的问题链接中提供的解决方案进行递归调用

我建议使用qry.ViewAttributes = "Scope='RecursiveAll'";来获取文档和文件夹以及query to get all items in a list including items in the sub folders in sharepoint

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4435973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档