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

时间:2009-06-24 20:30:43

标签: 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 w-out CMN67 E02_files的子文件夹时,即使Add方法似乎成功执行,它也无法添加文件夹。当我尝试通过标准的基于浏览器的SharePoint列表UI添加这个确切名称的文件夹时,我成功地添加了一个文件夹,但它有一个不同的名称:

  

M1 Spectrum CRC w-out CMN67 E02_files _

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

2 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:-1)

TRY

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