2

VS 2010 では、ASP.Net Web アプリケーション テンプレートによって、[ホーム] と [バージョン情報] の 2 つのコンテンツ ページを含むマスター ページが作成されます。新しいタブに移動すると、状態が失われます。Windows 開発者として、ページをユーザーが残した状態に戻す方法に苦労しています。

My Customers タブを使用すると、ユーザーは顧客をフィルター処理し、AspxGridView から顧客を選択できます。選択した顧客 ID は、関連する顧客データ (連絡先、請求書、タスクなど) を表示するために他のページ (タブ) で使用されます。ユーザーがフィルターを残して [顧客] タブに戻れるようにしたいと思います。仕分け等はそのままです。

Cookie、クエリ文字列、ビュー ステート、およびセッション変数を認識しています。ただし、ユーザーが離れて移動すると、ユーザーのフィルターをキャプチャして、グリッド状態を再構築するために必要な DevExpress AspxGridView から情報を並べ替える方法がわかりません。

すべてのタブを含む 1 つの巨大なページになるようにアプリを再設計する必要がありますか? これは、ビュー ステートの維持には役立ちますが、制御不能になる可能性があります。私の会社は、このアプリが本格的な CRM になることを望んでおり、メンテナンスの悪夢を作りたくありません。

時間の経過とともに非常に大きくなる可能性がある ASP.Net Web フォーム アプリケーションで、タブ/ページ間で状態を最適に維持する方法についてのアドバイスを探しています。

4

2 に答える 2

1

ただし、ユーザーが離れて移動すると、ユーザーのフィルターをキャプチャして、グリッド状態を再構築するために必要な DevExpress AspxGridView から情報を並べ替える方法がわかりません。

ASPxGridView クライアント レイアウト データを使用することができます。DX ASP.NET グリッド コントロールは、この目的のために特別なインフラストラクチャを提供します。

ASPxGridView > 主な機能 > レイアウトの保存と復元:

http://help.devexpress.com/#AspNet/CustomDocument4342

E2534 - ASPxGridView の ClientLayout データを保存/ロードし、ASPxListBox から選択する方法:

http://www.devexpress.com/Support/Center/e/E2534.aspx

于 2011-12-14T20:34:34.750 に答える
0

WinFormsとは異なり、Webはステートレスです。ASP.NETには、ページとポストバックの間の状態を維持するためのいくつかのオプションがあります。開始するのに最適な場所はMSDNです。

ASP.NET状態管理の概要

方法:ASP.NETWebページ間で値を渡す

私はAspxGridViewに精通していませんが、ほとんどのサーバーコントロールはViewStateを使用してポストバック間の状態を維持します。まず、コントロールページ、およびweb.configでViewStateが有効になっていることを確認します。

于 2011-12-14T19:53:04.273 に答える