SharePoint 2010遍历文档库中所有的文件,文件夹

转: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

 

转载于:https://www.cnblogs.com/jackljf/p/4768653.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值