2009-04-09 13 views
0

私はasp .netマスターページアプリケーションを持っていて、1つのコンテンツページには多数のコントロールがあります。セッション状態を取得する方法

ユーザーが別のコンテンツページに移動するたびに、これらのコントロールのコンテンツ/状態をセッション状態に保存します。

私の質問は、どのようにコントロール状態をキャプチャするのですか?プロシージャをトリガするために使用できるイベントがありますか?

事前情報ありがとうございます。

答えて

0

ビルは、おそらく彼らはあなたがそれらを提供しているコントロール(ボタン、リンクなど)あなたはトラップその時点でサーバ側のアクションをすることができますし、自分の状態をキャッシュを経由して離れて、そのページからナビゲートしています。

2

ユーザーが別のページに行くとき(またはブラウザの戻るボタンを押すだけでも)を検出するために使用できる実際の「グローバル」サーバーサイドイベントハンドラはありません。

マスタページにセッション状態を保存し、指定した場所にResponse.Redirect()メソッドを実行するメソッドを記述するのが最善の方法です。次に、セッション状態を追跡する必要があるときに、すべてのリンクをこのメソッドに渡します。

0

セッション変数の使用はどうですか?

は、詳細はこちらのリンクを参照してください。 ASP.Net Session

状態を維持するために、いくつかの方法があります。あなたが使用しているバージョンに関係なくトレードオフがあります。たとえば、複数のサーバー間で負荷分散されているアプリケーションでは、セッション変数を使用しません。要求ごとに同じサーバーを取得する保証はなく、状態はサーバーごとに格納されます。

これは、しかし、簡単にするために、この

Session["myState"] = 7; // bad example 

を打ち負かすのは難しいです。 :)

関連する問題