好的,这是场景...... 我在文档库中创建了一个子文件夹,当一个项目添加到文档库时,我想对文档进行一些处理,然后将项目移动到子文件夹,比如说MySubFolder。为此,我将使用此声明
SPListItem folder = this.workflowProperties.List.Folders[];
但是Folders []集合将采用int索引或guid。我在工作流程中这样做,我不知道如何获取文件夹的guid。请注意,我不能使用url来获取GUID,因为相同的工作流程应用于许多文档库,并且我在所有文档库中都有MySubFolder子文件夹,所以在这里给出url似乎有点俗气。
答案 0 :(得分:0)
我现在没有Sharepoint,但你应该能够做到:
Guid folderId = Guid.Empty;
foreach (SPFolderCollection folder in YourList.Folders)
{
if (folder.Name == "MySubFolder")
{
folderId = folder.UniqueId;
break;
}
}
或者,在您的事件处理程序中,构建您的文件夹URL:
public override void ItemDeleting(SPItemEventProperties properties)
{
Uri folderAddress = new Uri(properties.BeforeUrl, "MySubFolder");
SPFolder folder = yourWeb.GetFolder(folderAddress.ToString());
}
答案 1 :(得分:0)
我通过以下方式解决了这个问题:
Guid folderId = Guid.Empty;
SPFolder spFolder = web.Folders[this.workflowProperties.List.Title].SubFolders["MySubFolder"];
folderId=spFolder.UniqueId;