SharePoint: разница между заголовком, именем и DisplayName для библиотечных папок

StackOverflow https://stackoverflow.com/questions/2025137

  •  19-09-2019
  •  | 
  •  

Вопрос

Извините, если это было задано в другом месте. Я посмотрел, но не могу найти никаких окончательных ответов.

Я пишу приложение для SharePoint 2010, которое необходимо создавать папки в библиотеке документов; Один для каждой «задания», которую приложение обрабатывает, как место для размещения вывода задания. Но у меня проблемы с столкновениями с именем папки. Каждое «задание» кодируется как файл XML в другом списке SharePoint. Например, он может содержать XML -файл, называемый «от docx до pdf.xml». До сих пор у меня есть приложение, создающее подпапки в списке выводов, используя имя файлов задания минус расширение. Итак, в этом случае папка, называемая «от docx до pdf». Но через некоторое время приложению, возможно, придется повторно обрабатывать ту же работу. Я хочу иметь возможность иметь еще одну подпалку в том же списке, что и первое, с точно таким же именем, видимым пользователю в браузере ...

Можете ли вы сделать это в списках SharePoint? Кажется, обычные SplistItems имеют имени, отображение и свойства заголовка. Очевидно, что один из них должен быть уникальным, чтобы SharePoint мог однозначно идентифицировать этот элемент. Но что это? И применимо ли то же самое к элементам SPFOLDER в списке? Я думаю, здесь я хочу иметь что -то вроде дублированных имен отображения папок, но уникальные внутренние имена. У вас есть идеи о том, как это сделать? Пока что мой дерьмовый метод идет примерно так:

 private SPFolder CreateSubFolder(SPList list, string visibleFolderName)
    {           
        // create a new folder under the root folder
        SPListItem newFolder = list.AddItem("", SPFileSystemObjectType.Folder, visibleFolderName);            
        newFolder.Update();               
        return newFolder.Folder;
    }

Это, очевидно, не работает. Любые идеи о том, как изменить, чтобы иметь такое же видимое имя, но различают внутренние имена (возможно, используя ГИДС ...): D Заранее спасибо.

Это было полезно?

Решение

Как и в обычных файловых системах, папки под одной и той же под папкой должны быть уникальными. Таким образом, последний параметр Add() Метод должен быть уникальным, потому что он указывает имя папки.

Вы можете безопасно задействовать дублированный заголовок после создания папки, используя этот кусок кода:

SPListItem newFolder = list.Items.Add("", SPFileSystemObjectType.Folder, uniqueFolderName);
newFolder["Title"] = "New Folder"; // Can be duplicated
newFolder.Update();

Теперь у вас будут папки с одинаковыми названиями, но разными именами. Тем не менее, когда вы пытаетесь просмотреть эти папки из Windows Explorer или SharePoint View List по умолчанию, он покажет вам имя папки (что является уникальным), а не названия (которые вы хотите). Таким образом, вам нужно создать пользовательское представление и отобразить поле заголовка вместо имени папки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top