首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何判断SPListItem是文档还是文件夹

如何判断SPListItem是文档还是文件夹
EN

Stack Overflow用户
提问于 2011-07-08 19:33:52
回答 5查看 23.3K关注 0票数 13

我有一个循环遍历文档库,如下面的示例所示。

代码语言:javascript
复制
foreach (SPListItem item in DocumentLibrary)
{
}

如何判断SPListItem是文档还是文件夹?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-07-08 19:52:02

如果列表项不是文件夹,则列表项的Folder属性将为null,因此您可以这样写:

代码语言:javascript
复制
public bool IsFolder(SPListItem item)
{
    return item.Folder != null;
}

同样,如果该项不是文档,则该项的File属性将为null。但是,文档建议在这种情况下不要使用此属性:

如果项目是文件夹,或者如果项目不在文档库中,则File属性也会返回null,尽管在这些情况下不建议您调用此属性。

另一种方法是检查列表的BaseType属性:

代码语言:javascript
复制
public bool IsDocument(SPListItem item)
{
    return !IsFolder(item)
        && item.ParentList.BaseType == SPBaseType.DocumentLibrary;
}
票数 14
EN

Stack Overflow用户

发布于 2011-07-08 19:45:36

代码语言:javascript
复制
if (item.Folder!=null) 
  // item is Folder and Folder will hold the SPFolder class
票数 2
EN

Stack Overflow用户

发布于 2011-12-31 04:32:52

代码语言:javascript
复制
if( item["ContentType"].ToString() == "Folder")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6623828

复制
相关文章

相似问题

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