博客地址:http://blog.csdn.net/FoxDave

本文只为记录一下这个小细节,不会过多赘述,开发可以看懂。

如果想向一个列表或库中添加文件夹,平时我们自然想到的是list.rootfolder.folders.add方法或者folder.folders.add方法,这种方式在库中是可以添加成功的,代码片段如下:

List list = web.Lists.GetByTitle("MyDoc1");
ctx.Load(list, l => l.RootFolder);
ctx.ExecuteQuery(); list.RootFolder.Folders.Add("test");
ctx.ExecuteQuery();

在SPD中可以看到创建成功的文件夹如下图

但是如果在列表如自定义列表中使用此方式,文件夹是添加成功了,但在界面上是不可见的,在SPD中的效果如下图,可以看到这只是一个普通的文件夹,跟直接从界面上创建出来的是不同的。

也就是说,当需要往列表里面创建文件夹时,需要使用另一种方式,添加Item的方式去创建,代码片段如下:

List list = web.Lists.GetByTitle("testlist");
ctx.Load(list, l => l.RootFolder);
ctx.ExecuteQuery();
ListItemCreationInformation folderCreate = new ListItemCreationInformation();
folderCreate.UnderlyingObjectType = FileSystemObjectType.Folder;
folderCreate.FolderUrl = "/sites/Meliodas_AA/Lists/testlist/uifolder";
ListItem folderItem = list.AddItem(folderCreate);
folderItem["Title"] = "new test1";
folderItem.Update();
ctx.ExecuteQuery();

说明一点,如果要往列表的根目录添加文件夹,可以不用指定FolderUrl属性,如果想在子文件夹中创建的话,需要指定该属性,可以传入父文件夹对象的ServerRelativeUrl属性。

另外,文件夹在界面上显示的名称需要设置ListItem的["Title"]属性,LeafName属性指定了Url。

利用CSOM向列表添加文件夹的更多相关文章

  1. Ant学习---第二节:Ant添加文件夹和文件夹集的使用

    一.创建 java 项目(Eclipse 中),结构图如下: 1.创建 .java 文件,代码如下: package com.learn.ant; public class HelloWorld { ...

  2. Windows下QT Creator工程中添加文件夹

    在QT项目,常常会有很多头文件和源文件,但是QT Creator中却没有添加文件夹的功能,造成项目代码混乱.   下面是建立文件的步骤: 1.打开工程目录,在目录下建立文件夹,如建立文件SerialP ...

  3. AndroidStudio 添加Selector文件,在res文件夹下添加文件夹

    在res文件夹下添加文件夹: 添加Selector文件:

  4. PhpStrom之添加文件夹至左侧目录树

    1.打开编辑器,点击工具栏 File,并选择Open (File -> Open) 2.选择需要添加的文件夹路径,点击 OK 3.点击OK后弹出下图窗口(第一个选项:Open in new wi ...

  5. vs解决方案中添加文件夹

    一般我们在github上面看到的项目结构基本都是把项目放到src文件夹中,test放测试 查了半天也没查到这个是怎么产生的...这边只能用比较笨的方法来完成. 解决方法中是允许我们添加解决方案文件夹, ...

  6. 利用python实现两个文件夹的同步

    其实无论windows还是Linux,简单地去实现两个两个文件夹的同步只需系统自带的复制命令加参数就可以了. WINDOWS : xcopy 源文件夹\* 目标文件夹 /s /e /y Linux : ...

  7. 利用os模块求一个文件夹的大小。

    一.递归方法 def size(path): #给定一个初始的文件夹路径 num = 0 list_name = os.listdir(path) #利用os模块方法,以列表的形式获得该文件夹下面的所 ...

  8. python根据列表创建文件夹,拷贝指定文件

    内容涉及:关键字定位,列表去重复,路径组装,文件夹创建,文件拷贝,字符串分割 list.txt的内容为包含关键字的文件路径,如:关键字 ’181‘ org/20190523/1/20190523201 ...

  9. git无法添加文件夹

    如标题所示,在webapp下面创建了个空的pages文件夹,想着先提交一下,无奈怎么都提交不了,后来试着在文件夹下面随便添加了个文件就可以提交了, 也不知道是什么原因.

随机推荐

  1. WPS 认证机制

    WPS 认证机制 WPS(Wi-Fi Protected Setup,Wi-Fi保护设置)(有的叫做AOSS.有的叫做QSS,不过功能都一致.)是由Wi-Fi联盟组织实施的认证项目,主要致力于简化无线 ...

  2. django一对多关系的小例题

    urls.py from django.conf.urls import urlfrom django.contrib import adminfrom son1.views import * url ...

  3. 哈希表(Hash Table)

    参考: Hash table - Wiki Hash table_百度百科 从头到尾彻底解析Hash表算法 谈谈 Hash Table 我们身边的哈希,最常见的就是perl和python里面的字典了, ...

  4. Excel公式学习

    1.Left函数 (1)语法格式=left(text,num_chars) ,(text代表用来截取的单元格内容,num_chars代表从左开始截取的字符数): (2)示例:例如A1单元格内的文本为: ...

  5. 读javascript高级程序设计00-目录

    javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...

  6. java selenium (十二) 操作弹出窗口

    selenium 中如何处理弹出窗口 阅读目录 原理 在代码里, 通过         Set<String> allWindowsId = driver.getWindowHandles ...

  7. PHP 常用函数的解释

    1.trim() 去掉字符序列左边和右边的空格 2.stripslashes() 去掉反斜线字符 3.htmlspecialchars() 把预定义的字符 "<" (小于)和 ...

  8. Phonegap中自定义插件的使用

    在phonegap中需要实现特定相关的功能,可能需要自定义扩展一下功能,那么扩展phonegap组件就成为了可能. 源代码结构图: 本文目的在于讲述怎么扩展一个phonegap组件以及实现. 针对ph ...

  9. 如何通过命令行创建和设置一个MySQL用户

    我想要在MySQL服务器上创建一个新的用户帐号,并且赋予他适当的权限和资源限制.如何通过命令行的方式来创建并且设置一个MySQL用户呢? 要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可 ...

  10. [转载]再来重新认识JavaEE完整体系架构

    移步: http://www.jizhuomi.com/software/644.html