转: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. Unity3d 模型导入选项

  2. Memcache安全配置

    Memcache安全配置 瞌睡龙 · 2014/01/20 17:59 0x00 Memcache简介 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash ...

  3. 【面试题003】c数组做为参数退化的问题,二维数组中的查找

    [面试题003]c数组做为参数退化的问题,二维数组中的查找  一,c数组做为参数退化的问题 1.c/c++没有记录数组的大小,因此用指针访问数组中的元素的时候,我们要确保没有超过数组的边界, 通过下面 ...

  4. override equals in Java

    equals() (javadoc) must define an equality relation (it must be reflexive, symmetric, and transitive ...

  5. C# 中的命名规则

    需要注意: C# 区分大小写 ,若有int a 和 int A ,则a, 和 A是不同的 普通字段,属相,方法,类的命名规则: C#中推荐使用  camelCasing ,和 PascalCasing ...

  6. java 追加写入代码一例

    最近最项目参数化的时候用到,场景是这样的,需要测试A和B两个接口,其中B接口传入的参数必须是传递给A接口过的,所以整理一个思路就是: 1. 正常调用A接口,但是将传递给A接口的参数保存到文本里,此处要 ...

  7. NET 使用HtmlAgilityPack抓取网页数据

    刚刚学习了XPath路径表达式,主要是对XML文档中的节点进行搜索,通过XPath表达式可以对XML文档中的节点位置进行快速定位和访问,html也是也是一种类似于xml的标记语言,但是语法没有那么严谨 ...

  8. Quartz动态添加、修改和删除定时任务

    任务调度开源框架Quartz动态添加.修改和删除定时任务 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Quartz框架包含了调度器监听.作业和触 ...

  9. NSDictionary 键值对查找

           NSDictionary *dic1=[NSDictionary dictionaryWithObjectsAndKeys: @"1",@"a", ...

  10. OpenCV码源笔记——RandomTrees (二)(Forest)

    源码细节: ● 训练函数 bool CvRTrees::train( const CvMat* _train_data, int _tflag,                        cons ...