Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SharePoint SPFolder.SubFolders.Add未实际添加文件夹_Sharepoint_Sharepoint Api - Fatal编程技术网

SharePoint SPFolder.SubFolders.Add未实际添加文件夹

SharePoint SPFolder.SubFolders.Add未实际添加文件夹,sharepoint,sharepoint-api,Sharepoint,Sharepoint Api,我有两个文档库,它们只是标准库,没有关联的自定义内容类型或任何东西。我正在尝试向它们添加子文件夹,但在某些情况下,它就是不起作用 SPFolder parent = library.RootFolder; SPFolder child = parent.SubFolders.Add(subfoldername); parent.Update(); bool exists = child.Exists; // This is false 当我试图通过代码添加名为M1 Spectrum CRC

我有两个文档库,它们只是标准库,没有关联的自定义内容类型或任何东西。我正在尝试向它们添加子文件夹,但在某些情况下,它就是不起作用

SPFolder parent = library.RootFolder;
SPFolder child = parent.SubFolders.Add(subfoldername);
parent.Update();
bool exists = child.Exists;   // This is false
当我试图通过代码添加名为
M1 Spectrum CRC w-out CMN67 E02_files
的子文件夹时,它无法添加文件夹,即使
add
方法似乎成功执行。当我尝试通过基于浏览器的标准SharePoint列表UI添加同名文件夹时,我成功添加了一个文件夹,但名称不同:

M1频谱CRC w-out CMN67 E02_文件_


请注意SharePoint创建的文件夹中的尾随下划线。这是一个合法的Windows文件夹名称,不包含任何html不友好字符。那么,这是怎么回事?我是否遗漏了一些明显的内容?

这是因为以_文件结尾的文件夹是MS Office客户端应用程序在将文档保存为HTML时创建的一种特殊文件夹。Office应用程序将所有网页资源文件(如图像和css文件)保存到此文件夹。但是它不能通过SharePoint对象模型进行操作——如果你问我的话,那真是一团糟!唯一的解决方案是不要创建以_文件结尾的文件夹。

试试看

SPWeb site = new SPSite(sharepointURL).OpenWeb();
site.AllowUnsafeUpdates = true;

谢谢是的,那有点傻。如果报表具有以_文件结尾的文件夹结构,则导入基于html的报表会变得不必要的困难。哦,好吧。至少现在原因更清楚了!谢谢好笑的微软产品!:)我打赌这不可能是真的。。但确实如此。真是个笑话!实现这样一个东西真是个好办法——为什么他们不干脆不允许呢。是的,这一点都不好笑