現在、グリッドを埋めるためにデータベースを再クエリして状態を復元しますが、ページの読み込みが遅すぎます。代わりに、私はセッション変数にviewstateを保存し、ユーザーがページを再訪問するときに復元したいと思います。これはどうですか? SessionPageStatePersisterを使用する必要がありますか?これはポストバック状況ではなく、クロスページポストバックでもありません。ポストバックではなく、クロスページではないポストバックシナリオで、セッションページのビューステートを保存して復元する方法を教えてください。
背景:私はVS 2010 ASP.Net Webアプリケーションテンプレートをマスターページと複数のタブ付きコンテンツページで使用しました。新しいタブに移動すると、状態は失われます。 [顧客]タブでは、AspxGridViewから顧客をフィルタリングして選択することができます。選択した顧客IDはセッション変数に保存され、関連する顧客データを連絡先、請求書、タスクなどの他のタブに表示するために使用されます。SaveClientLayoutを使用して顧客グリッドフィルタ、並べ替えおよびレイアウトを保存および復元できます。しかし、データベースに再クエリすることなくグリッドデータを復元する方法はわかりません。
私はthis tutorialを見つけ、SessionPageStatePersisterというタイトルのセクションでコードを実装しました。私はコードをコピーし、SessionPageStateAdapterと.browserファイルを作成しました。私はこのセッションviewstateデータにアクセスする方法については混乱しています。私はと助けを必要とするどのようにviewstateを保存し、ユーザーが複数の他のページを訪問した後にそれを復元する?
負荷はどれくらいですか?お客様のグリッド・クエリーをスピードアップ/ページングするためのよりよいソリューションがありますか?返すレコードはいくつですか? – Paddy
残念ながら、データはConnx ODBCドライバを介してアクセスされるVaxフラットファイルに存在します。私は最適化について検討しますが、VaxとConnxはあまりよく知られていない分野です。最適化は、必要に応じてインデックスを追加できるSQL Serverほどシンプルではありません。 – DeveloperDan