2011-12-23 27 views
0

私は働く場所にレビューシステムを持っています。マネージャは、レビューする従業員を選択し、EmployeeIDをSession ["EmpID"]変数として設定します。今、マネージャーは前記従業員の情報を入力することができる。セッション変数の代わりに上書きされます

私たちの問題:(。つまり、Internet Explorerの) マネージャは、ブラウザで別のタブやウィンドウを開き、異なる従業員を検索し、それがセッション[「のEmpID」]として従業員#2 IDを設定し、変数、最初のものを上書きします。マネージャは従業員#1に戻り、情報を入力すると、#1の情報を入力していると考えられますが、最後に選択してから#2と入力します。

これを防ぐためのアイデアはありますか?

答えて

1

タブブラウズを使用すると、実際には同じasp.netセッションが使用されるため、あるページのキャッシュと他のページのキャッシュを一意に分離しないと、同じデータが取得されます。

ページでセッションを使用してデータを格納する場合は、キーのプレフィックスとして一意の識別子(GUIDなど)を使用します。隠し場所またはViewStateにGUIDを格納します。

ViewStateEmpIDを格納すれば十分でしょう。その後、Tab1はTab2に別の値があってもその値を保持します。

1

これは、ページの内容で隠しフィールド/タグにEMPIDを保存するために、より実現可能に聞こえます。 文字列レコード= span.innerTextに基づいてレコードを保存します。これはセッションではなくページに表示されるためです

関連する問題