質問: 変数に設定したコード]、 変数のコードを表示させています。 また、B画面は、自動で閉じるようにしたいのでTimerを使っています。 Timer_Tickイベントで、ViewStateに登録したコード取得して、値をDBに登録して、 B画面を閉じる、というのが一連の流れです。 ちなみに、A画面についてはB画面起動後、コード部分はクリアして、常駐しているイメージとなります。 そこで、気になるところが、 A画面でコード入力してボタン_Click→B画面表示→B画面を表示させたままA画面に戻って コード入力してボタン_Click→B画面表示→B画面を表示させたままA画面に戻って・・・というように、 A画面から、何度も繰り返してB画面を起動させたとき、 A画面で設定したSession情報の内容で、B画面のTimer_Tickで、正しく登録されるのか、というところです。 ViewStateについて調べたところ、ページ単位で値を保持してくれる(違うページ間では共有しない)みたいなので、 ViewStateのクリアをしない限り&B画面を閉じない限り、値はそれぞれの画面で保持できているはず。 B画面の1つ目((1)とします)はコードが111の情報、2つ目((2))は222、3つ目((3))は333の情報を、 B画面それぞれのPage_Load時にViewStateに登録しておけば、 B画面(1)のTimer_Tickで111、B画面(2)のTimer_Tickで222、B画面(3)のTimer_Tickで333がそれぞれ登録できると思っています。 このように連続で行うような画面操作で、 A画面で設定したSession情報が上書きされたりする(111が222になってしまうなど)可能性は、あるのでしょうか?
回答: > B画面では、Page_Loadイベント内の初回表示時「Not IsPostBack」のときだけ、 > A画面で設定したSession情報を変数に設定した後、Session情報をクリアし、 B画面でF5キーを押すだけで破綻しているのでは? 私見では、 画面間のデータ渡しでSessionは使うな。 QueryStringがお勧め(簡単に書き換えられるのでチェックは必須)