Программно меняющееся имя SPFolder

Мне было интересно, можно ли программно изменить имя SPFolder после его создания?

например

foreach (SPFolder folder in list.RootFolder.SubFolders)
{
    if (folder.Name.Equals("blah"))
    {
        // set the name of the folder to something else
        folder.Name = "blah 2.0";
    }
}

До сих пор Гугл предположил, что MoveTo - единственный способ сделать это. Внутри папки много элементов, поэтому я неохотно перемещаю ее, если нет абсолютно никаких других способов.

Благодарю.

3 ответа

Решение

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

В библиотеке документов поле Имя элемента (папки) имеет StaticName = FileLeafRef. Так что действительно работает для меня

folder.Item[SPBuiltInFieldId.FileLeafRef] = "The new name";
folder.Item.Update();

Когда у вас есть SPFolder объект, вы можете сделать это так:

folder.item["Title"] = "blah 2.0";
folder.item.SystemUpdate();'
Другие вопросы по тегам