2

イベントを使用してファイルをアップロードするときに、イベント レシーバーを使用するドキュメント ライブラリ内の SharePoint 2010 itemadded。ファイルのプロパティを取得すると、ファイルのプロパティのカスタム タブに同じプロパティが含まれているため、変更されます。プロパティが来ないのでSPListItem、sharepointにファイルをアップロードするときにファイルのカスタムプロパティをクリアする方法を教えてください。

I am set toItemAddedColはデフォルト値がに設定されていますfalseが、i は true で表示されます。問題は、拡張子が.pptのファイルをアップロードしていることです。ファイルのプロパティとカスタムタブセットに移動しItemAddedColFile Size. したがって、これらの値は、アイテム追加イベントでこれらのカスタム フィールドをクリアする方法をとっています。

string size = Convert.ToInt32(listitem["File Size"]);
statusupdate = Convert.ToString(listitem["ItemAddedCol"]);
4

1 に答える 1

1

これがあなたの望むものかどうかはわかりませんが、ドキュメント ライブラリにファイルをアップロードするときに、カスタム プロパティを設定するとアイテム更新イベントが呼び出されます。ItemUpdated(または) イベントのイベント レシーバーを記述し、ItemUpdatingここで必要なプロパティをクリアできる必要があります。

したがって、コードは次のようになります。

public virtual void ItemUpdated(SPItemEventProperties properties, bool isCheckIn)
{
    try
    {
        this.EventFiringEnabled = false;

        SPListItem listItem = properties.ListItem;

        //clear value in your custom column
        listItem["myCustomColumnName"] = null;

        listItem.Update(); //or listItem.SystemUpdate()
    }
    finally
    {
        this,EventFiringEnabled = true;
    }
}

私はこのコードをテストしていないので、実行時に問題があればお知らせください。

于 2012-08-12T14:17:42.430 に答える