转: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. Unity3D脚本中文系列教程(十一)

    http://dong2008hong.blog.163.com/blog/static/4696882720140313058768/ BoxCollider 类,继承自Collider 一个盒状的 ...

  2. mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc区别

    1.mysql_fetch_row  只能以索引下标取值,从0开始. 2.mysql_fetch_array 能以索引下标取值,也可以用字段名称取值. 3.mysql_fetch_object 对象方 ...

  3. 利用vim阅读源代码一个好用的工具

    阅读源代码时常常遇到找变量,函数定义的问题.vim为我们提供了一个好用的工具,ctags. 安装 ctags. 在 libvirt的源代码根目录运行 ctags -R . vim -t virConn ...

  4. 无废话版本-Asp.net MVC4.0 Rasor的基本用法

    最近工作有点忙,好久没写东西了!废话不多说了,进入主题! 1.在页面中输出单一变量时候,只要在C#语句之前加上@符号即可,For example: <p>Now Time:@DateTim ...

  5. Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数

    1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...

  6. Project Euler 87 :Prime power triples 素数幂三元组

    Prime power triples The smallest number expressible as the sum of a prime square, prime cube, and pr ...

  7. POJ1248 Safecracker

    第一次写DFS的程序,虽然是个水题.1. 学了memset2. 可以存下来A-Z的各个次方的结果3. 可以排序优化4. 我用了t[0]==0来判断是否有解,也可设个flag5. 用了递归,也可用五层循 ...

  8. netty是什么?

    Netty是什么? 相对于Tomcat这种Web Server(顾名思义主要是提供Web协议相关的服务的),Netty是一个Network Server,是处于Web Server更下层的网络框架,也 ...

  9. Java学习笔记之:Java数组

    一.介绍 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如number ...

  10. App应用与思考

    我为什么没有加入苹果的iOS APP移动大军?http://blog.csdn.net/Code_GodFather/article/details/7956858 ----------------- ...