2

カスタムオブジェクトのリストにデータバインドされたグリッドビューがあります。クライアント側では、ユーザーはテキストボックスに価格値を入力し、グリッドビューのすべての行のチェックボックスをクリックできます。gridviewはページネーションをサポートし、数十のページが含まれています。グリッドビューでデータが変更された場合、ユーザーがページをキャンセルしてしまう可能性があるため、データベースのエントリを変更する必要はありませんが、他のページで何がチェックされたかを(今のところ)覚えておきたいと思います。

ユーザーが[送信]をクリックしたときに、グリッドビューのすべてのページのすべての値を読み取る方法を理解しようとしています。テキストボックスとチェックボックスのイベントハンドラーを設定することはできますが、それでもカスタムオブジェクトの変更されたリストを保存する必要があります。ASPでは、これは通常、アプリケーションキャッシュで実行されますか、それともビューステートにデータを保存する必要がありますか?

4

1 に答える 1

1

値は ViewState または Session に格納できます。更新するときは、DB を更新します。

データはユーザーのセッションの間だけ保持される必要があるため、通常はアプリケーション キャッシュでは行われません。

つまり、製品のリストをロードして、グリッドビューにバインドします。また、製品を Viewstate に保存します。製品を追加、更新、または削除するときは、ViewState の Products オブジェクトに変更を加えます。

SaveClick イベントで、ViewState から製品を読み取り、DB を更新します。

並行性の問題を必ず確認してください。

于 2011-11-17T14:45:49.633 に答える