博客地址: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. 在后台启动受管服务器经常报错:Server may already be running

    报错如下: 1. Unable to obtain lock on /usr/local/odrive/odrive_chen/Middleware/user_projects/domains/oim ...

  2. php7 httpd 2.4 编译

    1.获取源码httpd-2.4.23.tar.gz   php-7.1.0.tar.gz,安装顺序必须是先安装http然后php,lnmp同理   2.安装编译环境和php.httpd依赖包,红色字体 ...

  3. VS2010+Qt+OpenCv(显示图像)

    Qt在界面显示窗口中起着越来越重要的作用,从而了解了下如何在Qt中显示一副图像. 该小程序主要注意一下几点: 1.工程属性中设置OpenCV的环境(包含目录和库目录,以及附加依赖项),设置Qt的环境( ...

  4. sqoop、flume 安装

    sqoop安装步骤 1.上传解压tar包 tar -zxvf  sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 2.修改配置文件 进入 sqoop/conf/ c ...

  5. logistic原理与实践

    逻辑回归模型是一种将影响概率的不同因素结合在一起的指数模型,得到的是0~1之间的概率分布.自变量范围是,值域范围限制在0~1之间.在搜索广告.信息处理和生物统计中有广泛的应用.例如搜索广告的点击率预估 ...

  6. (44) odoo中的WebService

    * 前言   erp系统会和其它系统进行对接,这时就要接口,官方给出的是两解决方案   * XML-RPCLibrary  举例    import xmlrpclib root = 'http:// ...

  7. Centos下MySQL主从同步配置

    说明:由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样, 因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave ...

  8. localStorage 2016/12/26

    在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localSt ...

  9. ionic实现上拉到底内容提示

    <!--html代码--> <ion-content has-bouncing = true on-drag-up="scrollDragUp()"> &l ...

  10. iOS常用方法

    1.磁盘总空间大小 + (CGFloat)diskOfAllSizeMBytes {     CGFloat size = 0.0;     NSError *error;     NSDiction ...