SharePoint2007で実行されているアプリケーションのようなショッピングカートがあります。
リストアイテムに対して非常に標準的な更新手順を実行しています。
using (SPWeb web = site.OpenWeb())
{
web.AllowUnsafeUpdates = true;
SPList list = web.Lists["Quotes"];
SPListItem item = list.GetItemById(_id);
item["Title"] = _quotename;
item["RecipientName"] = _quotename;
item["RecipientEmail"] = recipientemail;
item["IsActive"] = true;
item.Update();
site.Dispose();
}
このアイテムは正しく更新されますが、システムアカウントによって変更されたように一時的に表示されます。少し待ってページを更新すると、CurrentUserによって変更されたものとして再び表示されます。
これは問題です。Page_Loadで、アクティブとしてマークされ、CurrentUserによって変更済みとしてリストされているアイテムを取得しているためです。これは、ユーザーがリストを更新すると、PostBackが終了すると、アクティブなアイテムがないことを示します。
それはweb.AllowUnsafeUpdatesですか?以前にセキュリティエラーが発生していたため、これが必要です。
私は何が欠けていますか?