Программно меняющееся имя 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();'