转:http://hi.baidu.com/sygwin/item/f99600849d51a12b110ef3eb

创建一个可视WebPart,并拖放一个label控件到ascx文件上,用于显示结果,将lable的text属性设为空,具体过程就不在详述。下面是ascx.cs中的代码,如下:

protected void Page_Load(object sender, EventArgs e)

        {

            StringBuilder output = new StringBuilder();

            using (SPWeb web = new SPSite("http://localhost").OpenWeb())

            {

                SPFolder folder = web.GetFolder("/docs");//确定要操作的文档库

Label1.Text += "<br/> folder:" + folder.Name;

                SPFileCollection files = folder.Files;

                foreach (SPFile file in files)//获取第一级文件也就是docs中的文件名

                {

                    Label1.Text += "<br/>-----" + file.Url.ToString();

                }

                EnumerateFolders(folder.SubFolders);

            }

        }

//下面的方法是迭代获取文档库中的所有文件夹及其文件夹内的文件

        private void EnumerateFolders(SPFolderCollection folders)

        {

            foreach (SPFolder subFolder in folders)//获取文件夹中的文件

            {

                //if (subFolder.Name != "Forms")

                //{

                    Label1.Text += "<br/> folder:" + subFolder.Name;

                    SPFileCollection subFiles = subFolder.Files;

                    foreach (SPFile file in subFiles)

                    {

                        Label1.Text += "<br/>-----" + file.Url.ToString();

                    }

                //}

                SPFolderCollection subFolders = subFolder.SubFolders;//获取文件夹中的子文件夹

                EnumerateFolders(subFolders);

            }

        }

可能你需要添加:using Microsoft.SharePoint和using System.Text两个命名空间

下面是我的库的情况,如下:

注意上图中URL中的Forms。部署后,结果如下:

如上图所示,我们的文档库内一共有5个文件夹,其中Forms,Document是系统创建的,docs是我们的库名,也是我们的第一级文件。NewLocaion,NewLocaion2是我们手动创建的。可以明显看到Forms中的文件并不是我们需要操作的,所以,可以将红色代码中的注释部分去掉,这样就不会显示Forms中的文件了。



可以参考:(如何:访问、复制和移动文件)http://msdn.microsoft.com/zh-cn/library/ms470176.aspx#Y180

SharePoint 2010遍历文档库中所有的文件,文件夹的更多相关文章

  1. SharePoint 2013 文档库中PPT转换PDF

    通过使用 PowerPoint Automation Services,可以从 PowerPoint 二进制文件格式 (.ppt) 和 PowerPoint Open XML 文件格式 (.pptx) ...

  2. [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表

    写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的 ...

  3. 修改Sharepoint 文档库列表点击Excel文件默认跳转到Excel Service服务 xlviewer.aspx页面

    在Sharepoint 文档库中,当点击库中的一个Excel文件时,Sharepoint默认为转跳到Excel Services上,无论是Sharepoint 的是否开启了Excel Service, ...

  4. MWeb for Mac使用教程-如何在文档库中快速搜索

    使用MWeb for Mac专业的 Markdown 编辑写作软件,可以让你随时记录自己的想法,灵感,创意,为您的工作节省宝贵的时间.本篇文章带来的是MWeb for Mac如何在文档库中快速搜索使用 ...

  5. SharePoint 2007 文档库中的文档添加评论功能

    背景:接到一个项目,要求文档管理,当然文档库就可以了,但是要求文档需要大家去读,读完以后还可以发表评论,这Moss貌似就有点困难了.和同事一起合计,想来想去也没有太好的办法,后来想到传统开发,两个表的 ...

  6. sharepoint文档库中日期显示详细日期,不显示几天前

    文档库---库设置----栏

  7. 基于Picture Library创建的图片文档库中的上传多个文件功能(upload multiple files)报错怎么解决?

    复现过程 首先,我创建了一个基于Picture Library的图片文档库,名字是 Pic Lib 创建完毕后,我点击它的Upload 下拉菜单,点击Upload Picture按钮 在弹出的对话框中 ...

  8. SharePoint 2013 操作文档库ECB菜单

    在SharePoint的使用中,我们经常需要定制SharePoint的一系列菜单,这里就包括ECB菜单,下面,我们简单了解一下ECB菜单如何定制,以及原理. 1.正常情况文档库的ECB菜单如下图: 2 ...

  9. SharePoint Online 创建文档库

    前言 本文介绍如何在Office 365中创建文档库,以及文档库的一些基本设置. 正文 通过登录地址登录到Office 365的SharePoint Online站点中,我们可以在右上角的设置菜单中, ...

随机推荐

  1. Selenium网址

    Selenium官网:http://www.seleniumhq.org/ Selenium火狐插件地址:http://release.seleniumhq.org/selenium-ide/ 浏览器 ...

  2. java基础知识回顾之java Thread类学习(三)--java线程实现常见的两种方式实现好处:

    总结:实现Runnable接口比继承Thread类更有优势: 1.因为java只能单继承,实现Runnable接口可以避免单继承的局限性 2.继承Thread类,多个线程不能处理或者共享同一个资源,但 ...

  3. Java并发包中常用类小结(一)

    从JDK1.5以后,Java为我们引入了一个并发包,用于解决实际开发中经常用到的并发问题,那我们今天就来简单看一下相关的一些常见类的使用情况. 1.ConcurrentHashMap Concurre ...

  4. lintcode :Ugly Numbers 丑数

    题目 丑数 设计一个算法,找出只含素因子3,5,7 的第 k 大的数. 符合条件的数如:3,5,7,9,15...... 样例 如果k=4, 返回 9 挑战 要求时间复杂度为O(nlogn)或者O(n ...

  5. s3cmd的安装与使用

     s3cmd 是一款 Amazon S3 命令行工具.它不仅能上传.下载.同步,还能设置权限,下面是完整的安装使用指南. 主要是还是用来储存日志文件或者其他什么资料. https://wangyan. ...

  6. 如何发布使用LGPL版Qt的商业软件

    最近做跨平台图形用户界面库选型,权衡很多因素后最终选择了Qt,其中一个重要因素就是Qt使用LGPL授权许可.由于本人对LGPL理解有限,始终对闭源商业软件如何发布Qt库存在疑问,其中最关心的是:发布的 ...

  7. HS-T912 adb 连接配置

    手机丢了,花300大洋买的新手机阿...不讨论好不好用,只说怎么用. 安装驱动 linux 跳过 插上电脑,在__通知__里面打开__USB 连接__,会弹出__USB 设置__对话框. 选择__海信 ...

  8. ios跳转

    目标应用程序:打开info.plist,添加一项URL types展开URL types,再展开Item1,将Item1下的URL identifier修改为URL Scheme展开URL Schem ...

  9. css控制UL LI 的样式详解

    用<ul>设置导航 <style> #menu ul {list-style:none;margin:0px;} #menu ul li {float:left;} </ ...

  10. 预定义的类型“Microsoft.CSharp.RuntimeBinder.Binder”未定义或未导入

    http://www.mzwu.com/article.asp?id=3611 因为新加了Microsoft.CSharp的引用, 只需要重新生成一下项目,就可以消除这个错误提示