SharePoint SPFolder.SubFolders.Add实际上并没有添加文件夹

问题描述:

我有几个文档库只是标准库 - 没有关联的自定义内容类型或任何东西。我正在尝试向他们添加子文件夹,并且在某些情况下它不起作用。SharePoint SPFolder.SubFolders.Add实际上并没有添加文件夹

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-出CMN67 E02_files_

请注意SharePoint创建的文件夹中的尾部下划线。这是一个合法的Windows文件夹名称,它不包含任何不友好的html字符。那么,这是怎么回事?我错过了明显的东西吗?

这是因为以_files结尾的文件夹是MS Office客户端应用程序在将文档另存为HTML时创建的特殊类型。 Office应用程序将所有网页资源文件(如图像和css文件)保存到此文件夹。但是它不能通过SharePoint对象模型来操纵 - 如果你问我,这是一个真正的混乱!只有解决方案是不创建以_files结尾的文件夹。

+1

谢谢...是啊,这是一个有点愚蠢。当报告具有名称以_files结尾的文件夹结构时,导致基于HTML的报告不必要地很难导入。好吧。至少现在理由更清楚了!谢谢! – 2009-06-24 21:06:05

TRY

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