カスタムコントロールのHttpContextとOnInitイベントで、いくつかのチェックが必要な方法で応答していないことを認識した後、掘り下げています。ASP.Net Control.OnIntとHttpContext
現在のコンテキストのアイテムコレクション内に、すべてのポストバックで1回質問したいオブジェクトを(シリアル化して)保存します。最初にコントロールがレンダリングされ、items []はnullになります。次に、行の下のどこかに値が設定され、ユーザーはデータをポストバックするためにボタンをクリックします。
ここで、ボタン提出イベント内でアイテム[キー]をnullに設定して、ポストバックで私は何も格納されていないが、常に値を含んでいることを確認します。
私は、OnInitハンドラが以前の状態への参照を持っていると仮定しているので、items []に値が含まれていると仮定していると誤っています。これはOnInitの仕組みと関連しているのですか、もっと大きな画像が欠けていますか?
おかげで、 エリック
しかしそれは意味をなさない。 items [key] = objectユーザーがログインしたときにユーザーがアプリケーションを継続し、変更をプロファイルに送信することを決定した場合など、item []は2つの異なる要求の間に保持されます。サブミット時に変更を保存し、items [key] = nullにする必要があります。しかし、ポストバックでは、items [key] = objectで、nullではない、つまり、items []は永続化されますか? – JadedEric
私は自分自身がキャッシュオブジェクトを好み、サードパーティのコードを修正する必要があります: '(。 – JadedEric