如何以编程方式重命名Sharepoint目录(SPFolder或SPListItem)?

Sco*_*ord 1 c# asp.net sharepoint sharepoint-2003

我试过这个:

SPFolder folder = ...;
folder.Item["Name"] = newName;
folder.Item.Update();
Run Code Online (Sandbox Code Playgroud)

它表现得很神秘.如果我运行它,它会抛出一个异常:

 SPException: Cannot complete this action.
Run Code Online (Sandbox Code Playgroud)

但是,如果我在新的Name分配之后和Update()之前在调试器中停止它,并查看folder.Item的属性,然后继续,它每次都有效.这不是时间问题,我尝试在调试器中停止它而不在Locals窗口中查看它,但它在那个时间抛出异常.

这个问题表明类似的解决方案,但使用SystemUpdate(),这有关系吗? 以编程方式更改SPFolder的名称

pba*_*ris 8

在一个项目(文件夹)Document Library的字段NameStaticName = FileLeafRef.那对我有用的是

folder.Item[SPBuiltInFieldId.FileLeafRef] = "The new name";
folder.Item.Update();
Run Code Online (Sandbox Code Playgroud)