次のコードがあります。
using(SPWeb web = ...
{
....
SPListItem item = GetItemById(id);
item["Status"] = status;
item["Reason"] = reason;
item.Update();
}
そして、「このアクションを完了できません」という例外が発生しました...しかし、それを理解しようとすると、何かに気づきました...奇妙な...
ライン item.Update() に正確にブレークポイントを配置しました... デバッグ中に例外が発生するようにしてから、ウォッチ ウィンドウに移動してそこに「item.Update()」を配置しました... アイテムが更新されました...
それから..最初からやり直しましたが、今回はウォッチウィンドウで「item.Update()」を試しました.例外がスローされました..次にF10を押してコードを実行すると、驚いたことに正常に更新されましたアイテム..
私はこれを何度も試しましたが、常に同じです...だから、いくつかの奇妙な理由で、最初は失敗し、2番目は良いです..誰かが理由を知っていますか?
編集:
私はこれを試しました:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
....
item.Update();
});
ただし、「現在の状態のため、操作は有効ではありません」という例外があり、それでも失敗します...
編集2:
これは moss 2007 です。これは、sharepoint サイトに接続する Web アプリケーション (asp.net) であり、両方の列が存在します。
私は別のことを見つけました.. item.Update() にブレークポイントを置いて F10 を押すと、動作します..アイテムが更新され、例外はスローされません...しかし、通常の実行では、常に失敗..