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 на основе браузера, я успешно добавляю папку, но она имеет другое имя:

M1 Spectrum CRC без CMN67 E02_files_

Обратите внимание на заключительное подчеркивание в папке, созданной SharePoint. Это допустимое имя папки Windows, и оно не содержит html-недружественных символов. Итак, что с этим? Я что-то упускаю из виду?

2 ответа

Решение

Это связано с тем, что папка, оканчивающаяся на _files, представляет собой особый вид, создаваемый клиентскими приложениями MS Office при сохранении документа в формате HTML. Приложения Office сохраняют все файлы ресурсов веб-страницы, такие как изображения и CSS-файлы, в эту папку. Но этим нельзя манипулировать с помощью объектной модели SharePoint - настоящий беспорядок, если вы спросите меня! Единственное решение для вас - НЕ создавать папки, заканчивающиеся на _files.

ПЫТАТЬСЯ

SPWeb site = new SPSite(sharepointURL).OpenWeb();
site.AllowUnsafeUpdates = true;
Другие вопросы по тегам