利用CSOM向列表添加文件夹
博客地址: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向列表添加文件夹的更多相关文章
- Ant学习---第二节:Ant添加文件夹和文件夹集的使用
一.创建 java 项目(Eclipse 中),结构图如下: 1.创建 .java 文件,代码如下: package com.learn.ant; public class HelloWorld { ...
- Windows下QT Creator工程中添加文件夹
在QT项目,常常会有很多头文件和源文件,但是QT Creator中却没有添加文件夹的功能,造成项目代码混乱. 下面是建立文件的步骤: 1.打开工程目录,在目录下建立文件夹,如建立文件SerialP ...
- AndroidStudio 添加Selector文件,在res文件夹下添加文件夹
在res文件夹下添加文件夹: 添加Selector文件:
- PhpStrom之添加文件夹至左侧目录树
1.打开编辑器,点击工具栏 File,并选择Open (File -> Open) 2.选择需要添加的文件夹路径,点击 OK 3.点击OK后弹出下图窗口(第一个选项:Open in new wi ...
- vs解决方案中添加文件夹
一般我们在github上面看到的项目结构基本都是把项目放到src文件夹中,test放测试 查了半天也没查到这个是怎么产生的...这边只能用比较笨的方法来完成. 解决方法中是允许我们添加解决方案文件夹, ...
- 利用python实现两个文件夹的同步
其实无论windows还是Linux,简单地去实现两个两个文件夹的同步只需系统自带的复制命令加参数就可以了. WINDOWS : xcopy 源文件夹\* 目标文件夹 /s /e /y Linux : ...
- 利用os模块求一个文件夹的大小。
一.递归方法 def size(path): #给定一个初始的文件夹路径 num = 0 list_name = os.listdir(path) #利用os模块方法,以列表的形式获得该文件夹下面的所 ...
- python根据列表创建文件夹,拷贝指定文件
内容涉及:关键字定位,列表去重复,路径组装,文件夹创建,文件拷贝,字符串分割 list.txt的内容为包含关键字的文件路径,如:关键字 ’181‘ org/20190523/1/20190523201 ...
- git无法添加文件夹
如标题所示,在webapp下面创建了个空的pages文件夹,想着先提交一下,无奈怎么都提交不了,后来试着在文件夹下面随便添加了个文件就可以提交了, 也不知道是什么原因.
随机推荐
- sql多表查询时怎么获取查到的字段
首先,多表查询不能用hql(貌似hql就是不支持多表查询,如果可以,希望看到的朋友给个例子) List list = systemService.findListbySql("SELECT ...
- Ajax聊天
结构: index.html <!DOCTYPE html> <html> <head> <title>index.html</title> ...
- python——线程与多线程进阶
之前我们已经学会如何在代码块中创建新的线程去执行我们要同步执行的多个任务,但是线程的世界远不止如此.接下来,我们要介绍的是整个threading模块.threading基于Java的线程模型设计.锁( ...
- Linux中Screen命令使用方法
一.使用Screen创建一个Session screen -S sessionName 注:sessionName是要删除的session名字 二.结束一个Screen创建的session 1.首先使 ...
- jmeter for循环嵌套if学习2
if语句中勾选Evaluate选项,每执行一句都会判断result的值是否为true. 执行结果: three没有执行,到debug时变量的值变成tom了
- Jquery动态操作checkbox
问题的由来:html页面中使用checkbox给新建用户授权,然后提交到后台服务器,完成给用户授权.用户授权完成之后,如果用户的权限发生改变管理员需要修改多个用户的权限或查看某用户的权限,点击不同的用 ...
- ASP.NET MVC增删改查
ASP.NET MVC中的增删改查 基本都要使用C控制器中的两个action来完成操作,一个用于从主界面跳转到新页面.同时将所需操作的数据传到新界面,另一个则对应新界面的按钮,用于完成操作.将数据传回 ...
- .NET牛人需要了解的问题[转]
任何一个使用.NET的人 描述线程与进程的区别? 什么是Windows服务,它的生命周期与标准的EXE程序有什么不同 Windows上的单个进程所能访问的最大内存量是多少?它与系统的最大虚拟内存一样吗 ...
- synchronized和ReentrantLock
一.什么是sychronized sychronized是java中最基本同步互斥的手段,可以修饰代码块,方法,类. 在修饰代码块的时候需要一个reference对象作为锁的对象. 在修饰方法的时候默 ...
- Xcode相关整理
阅读目录 javadoc格式文档注释插件 xcodekit插件 常用快捷键 XCode中快捷健字符与MAC键盘对应关系: 添加自动生成格式为javadoc文档注释的插件VVDocumenter 首先推 ...