转:http://blog.csdn.net/pclzr/article/details/7591731

SPFolder是SharePoint对象模型中文件夹相关的类,它的使用方法相对比较简单。获取一个SPFolder的对象可以通过SPFolderCollection使用以下两种方法获得。

· folders[int index]:通过文件夹集合中的下标来获得;

· folders[string url]:通过该文件夹的url来获得。

而SPFolderCollection对象一般可通过SPWeb.Folders属性或SPFolder.SubFolders属性来获得。

而在SPWeb和SPList的对象模型中,都有该网站(或列表)所在的根目录的信息,可以直接通过SPWeb.RootFolder属性和SPList.RootFolder属性得到。但是需要特别指出的是,SPList.RootFolder的访问默认是没有开启的,如果想通过这种方法得到一个SPFolder对象,必须先将SPListCollection.IncludeRootFolder属性设为true。

在SPWeb中,也可以使用GetFolder方法来获得该网站中的某个文件夹对应的SPFolder对象。

· GetFolder(string url):参数为该文件夹所对应的路径(注意不要包含最后的“/”字符)。

文件夹的添加和删除同样是通过SPFolderCollection来完成的。

· Add(string url):添加一个文件夹,参数为待添加文件夹的url,该函数成功后直接返回一个SPFolder对象;

· Delete(string url):删除一个文件夹,参数为待删除文件夹的url。

在SPFolder类中,有如下一些常用的属性。

· ContainingDocumentLibrary:如果该文件夹是包含于一个文档库中的,那么该属性返回标识该文档库列表的Guid。该属性只读;

· Exists:判断该文件夹是否存在,在获取一个文件夹之后(尤其是通过url的方式获取一个文件夹之后),非常有必要先判断该文件夹是否存在,因为在获取文件夹的时候,文件夹不存在并不会引发异常,而在使用一个不存在的文件夹的时候,必然会引发异常。该属性只读;

· Files:该文件夹下的所有文件的集合;

· Name:该文件夹的名称(只读);

· ParentFolder:它的上一级文件夹的对象(只读);

· ParentWeb:该文件夹所在网站的对象(只读);

· ServerRelativeUrl:该文件夹相对于服务器根地址的url(只读);

· SubFolders:该文件夹下所有子文件夹的集合;

· Url:该文件夹相对于其所在网站的url(只读)。

SPFolder也提供了两个非常有用的函数。

·CopyTo(string newUrl):将该文件夹复制到参数所指定的url中;

·MoveTo(string newUrl):将该文件夹移动到参数所指定的url中。

示例9-7】 一个简单的函数,通过递归的方法遍历某文件夹下的层级结构:

void LookupFolders(SPFolder parentFolder, int level)

{

for(int i=0; i<level; i++)

Console.Write('\t');

Console.WriteLine(parentFolder.Name);

foreach(SPFolder subFolder in parentFolder.SubFolders)

{

if(subFolder.Exists)

LookupFolders(subFolder, level+1);

}

}

sharepoint SPFolder的使用的更多相关文章

  1. Add custom and listview web part to a page in wiki page using powershell

    As we know, Adding list view web part is different from custom web part using powershell, what's mor ...

  2. Sharepoint 根据文件相对路径获取、操作SPFolder

    public AjaxResult LoadDocInfo(HttpContext httpContext) { var result = new ArrayList(); try { var org ...

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

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

  4. SharePoint 2013 Word 转换PDF服务介绍及示例

    前言:在SharePoint使用过程中,经常会发现将文档进行格式转换的需求,之前,看到SharePoint 2013有将PPT转换PDF文档的服务,后来,才发现SharePoint 2010开始,就有 ...

  5. 《SharePoint 2013 应用开发实战》目录

    博客地址:http://blog.csdn.net/FoxDave 第 1 章  1 ◄SharePoint概述►        1 1.1  SharePoint的发展历程 1 1.1.1  Sha ...

  6. SharePoint 2013 中的 PowerPoint Automation Services

    简介                许多大型和小型企业都将其 Microsoft SharePoint Server 库用作 Microsoft PowerPoint 演示文稿的存储库.所有这些企业在 ...

  7. SharePoint 2013开发入门探索(二)- 列表操作

    我们如何用代码对SharePoint列表做些例如增删改查的操作呢?如果您的程序可以部署到服务器上,就可以使用 服务器对象模型,因为服务器对象模型提供的功能最多,限制最少:否则可能要选择客户对象模型等其 ...

  8. .net sharepoint文档库操作

      /// <summary> /// 检查文档库 /// </summary> /// <param name="siteUrl"></ ...

  9. Excel数据导入到Sharepoint List

    这个功能是从XML中读取需要导入到Sharepoint List的列名字,然后把Excel中对应的数据导入到Sharepoint List中.基本原理,把Excel中数据临时放到Datatable中, ...

随机推荐

  1. fedora下缺少autopoint包的解决办法

    编译过程中,报错,缺少autopoint包 然而无论是yum install autopoint 还是yum search autopoint都没有理想的答案 执行yum install gettex ...

  2. .NET基础篇——Entity Framework 数据转换层通用类

    在实现基础的三层开发的时候,大家时常会在数据层对每个实体进行CRUD的操作,其中存在相当多的重复代码.为了减少重复代码的出现,通常都会定义一个共用类,实现相似的操作,下面为大家介绍一下Entity F ...

  3. windows service 安装和卸载指令

    添加服务: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319InstallUtil.exe D:\OneKeyWebSiteDeployment\Ser ...

  4. Splay树再学习

    队友最近可能在学Splay,然后让我敲下HDU1754的题,其实是很裸的一个线段树,不过用下Splay也无妨,他说他双旋超时,单旋过了,所以我就敲来看下.但是之前写的那个Splay越发的觉得不能看,所 ...

  5. javascript表格的添加和删除

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  6. iptables 代理设置

    代理: 开启转发:echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 192.168.1.0/24 ...

  7. 如何正确学习JavaScript

    不要这样学习JavaScript 不要一开始就埋头在成堆的JavaScript在线教程里 ,这是最糟糕的学习方法.或许在看过无数个教程后会有点成效,但这样不分层次结构地学习一个东西实在是十分低效,在实 ...

  8. 利用Nginx搭建http和rtmp协议的流媒体服务器

    http://www.linuxidc.com/Linux/2013-02/79118.htm

  9. QC、IQC、IPQC、FQC、OQC、QA分别的定义

    QC:即英文(Quality Control)的简称,中文意义是品质控制,其在ISO8402:1994的定义是“为达到品质要求所采取的作业技术的活动”.有些推行ISO9000的组织会设置这样一个部门或 ...

  10. IntelliJ IDEA 15开发Java Maven项目

    1.安装好之后开始创建项目