1

イベント ハンドラーで SPFieldDateTime の値を別の SPFieldDateTime に複製しようとしていますが、認めざるを得ません。困惑しています。SPFieldDatetime で設定できる明らかなフィールドはなく、次のようにしてもフィールドの値は変更されません。

{
   SPListItem task = (SPListItem) properties;
   task[/* destination field's guid */] = task[/* source field's guid */];
}

コードはエラーなしでフィールドを取得できるようです。いずれかの GUID を使用してSPFieldDateTime time = (SPFieldDateTime)task.Fields[/* either GUID */];もエラーは発生せず、デバッガーは適切なフィールドを持っているように見えます: プロパティなどに適切な値が存在します。

SPFieldDateTime 値を設定するにはどうすればよいですか?

4

1 に答える 1

0

上記の失敗は、この実行シーケンスで Update を呼び出さなかったことです。タスクの更新を呼び出しましたが、イベント ハンドラーが実行されるスペースから分離された特権実行領域で実行されます。

修正:

{
   SPListItem task = (SPListItem) properties;
   task[/* destination field's guid */] = task[/* source field's guid */];
   task.Update();
}
于 2009-11-23T14:01:24.573 に答える