博客地址: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. IOS判断设备是否已越狱

    转自:http://www.cnblogs.com/supercheng/archive/2012/12/05/2804166.html - (BOOL)isJailbroken { BOOL jai ...

  2. kali更新源

    原文链接:http://www.cnblogs.com/dunitian/p/4712852.html kali2.0官方下载地址: https://www.kali.org/downloads/ 可 ...

  3. Java类中中文问题

    一个奇怪问题 java类中要保存一个xml文件到数据库,2种传值方式其中1种不知何故会最终导致解析xml时报错. xml文件内容由StringBuffer定义,其中一段内容如下: sb.append( ...

  4. Table的行列合并

    <table border="1" width="200" height="200"> <tr> <td ro ...

  5. 【xsy1629】可持久化序列 - 可持久化平衡树

    题意 你现在要用数据结构维护一个长度为n的序列. 这个序列支持三种操作: 1 l r:将序列中的第l项到第r项这一段翻转. 2 l r:查询序列中[l,r]这一段的和. 3 p:回到第p个历史版本. ...

  6. MySQL 解压包 安装

    1.解压 2.配置mysql bin的环境变量 3.配置my-defalue.ini 配置文件 或自己建立一个my.ini文件 [mysqld] basedir=F:\mysql\mysql-5.6. ...

  7. roundabout插件使用(3d旋转轮播图)兼容IE8

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  8. nullable,nonnull, null_resettable以及_Null_unspecified的区别和使用

    1.关键字:可以用于属性 方法和返回值参数中 关键字作用:提示作用  告诉开发者属性信息 关键字的目的:迎合swift 强语言,swift必须要指定一个对象是否为空 关键字好处:提高代码规划,减少沟通 ...

  9. [HTML/HTML5]5 使用链接

    5.1  添加指向其它Web页面的链接 无论目标Web页面是否属于你网站的一部分,还是属于其它网站,都可以添加指向其它Web页面的链接.只需要用<a>就可以添加链接. <a href ...

  10. SYSDBA身份登陆时可以修改其他用户的密码

    在以SYSDBA身份登陆时可以修改其他用户的密码,比如:SQL> alter user user01 identified by user10;用户已更改.这个是把USER01用户密码修改为US ...