【发布时间】:2010-01-08 02:45:34
【问题描述】:
对不起,如果在其他地方问过这个问题。我看过但找不到任何明确的答案。
我正在为 SharePoint 2010 编写一个需要在文档库中创建文件夹的应用程序;一个用于应用程序处理的每个“作业”,作为放置作业输出的位置。但是,我遇到了文件夹名称冲突的问题。每个“作业”都被编码为另一个 SharePoint 列表中的 xml 文件。例如,它可能包含一个名为“从 docx 到 pdf.xml”的 xml 文件。到目前为止,我的应用程序使用作业文件名减去扩展名在输出列表中创建子文件夹。因此,在这种情况下,一个名为“从 docx 到 pdf”的文件夹。但是,一段时间后,该应用程序可能不得不重新处理完全相同的工作。我希望能够在与第一个列表相同的列表中拥有另一个子文件夹,并且用户在浏览器中可以看到完全相同的名称...
您可以在 SharePoint 列表中执行此操作吗?看起来普通的 SPListItems 有 Name、DisplayName 和 Title 属性。显然,其中之一必须是唯一的,以便 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;
}
这显然行不通。关于如何更改为具有相同的可见名称但内部名称不同(可能使用 Guids...)的任何想法?:D 在此先感谢。
【问题讨论】:
-
实际上不,Sharepoint 不使用这些字段来唯一标识列表项。唯一必须唯一的是“Id”字段,该字段与创建的项目一起分配,您无法更改它。
标签: sharepoint sharepoint-2010