0

さて、これがシナリオです...ドキュメントライブラリにサブフォルダを作成しました。アイテムがドキュメントライブラリに追加されたら、ドキュメントに対して何らかの処理を行ってから、アイテムをサブフォルダ(MySubFolderなど)に移動します。 。その目的のために、私はこのステートメントを使用します

SPListItem folder = this.workflowProperties.List.Folders[];

ただし、Folders []コレクションは、intインデックスまたはGUIDのいずれかを取ります。ワークフローで実行しているので、ここでフォルダーのGUIDを取得する方法がわかりません。同じワークフローが多くのドキュメントライブラリに適用され、すべてにMySubFolderサブフォルダーがあるため、ここでURLを使用してGUIDを取得することはできません。したがって、ここでURLを指定するのは少し厄介なようです。

4

2 に答える 2

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());
}
于 2010-01-21T08:54:54.280 に答える
0

次のようにして解決しました。

Guid folderId = Guid.Empty;
SPFolder spFolder = web.Folders[this.workflowProperties.List.Title].SubFolders["MySubFolder"];
folderId=spFolder.UniqueId;
于 2010-01-21T11:01:47.027 に答える