特定のコンテンツタイプの項目の更新(フォルダからの派生)
-
09-12-2019 - |
質問
イベントハンドラのいくつかの項目を更新するいくつかの問題に遭遇しています。
私はフォルダから導出されたコンテンツタイプPRATHAのフォルダ、アイテム、フォルダがあるドキュメントライブラリを持っていて、リスト内の他の項目の属性が同じです。
SO ...私が書いたコードはイベントハンドラによって呼び出され、特定のフォルダの下のすべてのアイテムにmodを適用したい。
これはアイテム(ファイルなど)に対して機能します。サブフォルダを解析して適切なコンテンツタイプの検索を検索すると、列を変更しますが、変更が適用されていません(すべての命令が渡されず、デバッグが渡されます。)
任意の賛成?
ありがとうございました!
private void RecursiveUpdateItemCliente(SPFolder folder, string RagioneSociale, Guid fieldRS)
{
foreach (SPFile spfile in folder.Files)
{
this.EventFiringEnabled = false;
spfile.Item[fieldRS] = RagioneSociale;
spfile.Item.SystemUpdate();
this.EventFiringEnabled = true;
}
foreach (SPFolder spfolder in folder.SubFolders)
{
if ((spfolder.Name != "Forms") && (spfolder.Item.ContentTypeId.IsChildOf(new SPContentTypeId(PRATICA))))
{
this.EventFiringEnabled = false;
folder.Item[fieldRS] = RagioneSociale;
folder.Item.SystemUpdate();
this.EventFiringEnabled = true;
}
RecursiveUpdateItemCliente(spfolder, RagioneSociale, fieldRS); }
}
. 解決
private void RecursiveUpdateItemCliente(SPFolder folder, string RagioneSociale, Guid fieldRS)
{
foreach (SPFile spfile in folder.Files)
{
this.EventFiringEnabled = false;
spfile.Item[fieldRS] = RagioneSociale;
spfile.Item.SystemUpdate();
this.EventFiringEnabled = true;
}
foreach (SPFolder spfolder in folder.SubFolders)
{
if ((spfolder.Name != "Forms") && (spfolder.Item.ContentTypeId.IsChildOf(new SPContentTypeId(PRATICA))))
{
//I MUST GET SPFOLDER and NOT folder element...
this.EventFiringEnabled = false;
spfolder.Item[fieldRS] = RagioneSociale;
spfolder.Item.SystemUpdate();
this.EventFiringEnabled = true;
}
RecursiveUpdateItemCliente(spfolder, RagioneSociale, fieldRS); }
.
}
所属していません sharepoint.stackexchange