- PR -

PostBackとhistory.backについて

1
投稿者投稿内容
未記入
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 66
投稿日時: 2006-02-28 18:06
お世話になっています。
ASP2.0.netを使用しているのですが、
A画面からB画面に遷移する画面があり、
B画面でhistory.back()し、A画面に戻るときに
通常の場合、A画面のPage_Loadイベント処理は発生せずに
A画面が表示されるのですが、
A画面でC画面(別ウィンドウ)を起動し、その後、B画面に遷移し
B画面からhistory.back()でA画面に戻るときは、A画面の
Page_Loadイベント処理が発生してしまいます。
同じような他の画面はそのような現象が起こらないのですが。。。

なぜこの現象が起きるのかまったく解りません。
A画面でPage_Loadイベントを発生しないようにするには
どうすればよいのでしょうか。
また、どういった状況なら、history.back()でPage_Loadイベントが発生して
しまうのでしょうか。
よろしくお願いします。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-02-28 19:28
history.back()って、ブラウザが行う処理なので、ブラウザの実装によって
どういう処理が起きるか異なるのでは?

#history.back()は使わないようにするのが無難だと思いますが。。。
未記入
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 66
投稿日時: 2006-02-28 21:06
どっとねっとふぁんさんどうもです。
history.back()を使用しないとダメなんです。。
普通にバックしているだけなのに何故か、A画面の
Page_Loadを通過してしまいます。なので値がクリア
されてしまいます。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2006-03-01 13:45
引用:

また、どういった状況なら、history.back()でPage_Loadイベントが発生して
しまうのでしょうか。



クライアントスクリプトが悪さしているとか。
SmartNavigationかValidatorは使っていますか?
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2006-03-01 18:11
こんにちは

推測ですけど、キャッシュ絡みなのではないでしょうか?
あとは Last-Modified とか Cookieの有効期限などが関係しているのではないですかね〜?
未記入
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 66
投稿日時: 2006-03-02 12:14
解決しました!
みなさんどうもありがとうございます。

原因はA画面からB画面に遷移するときに
Server.Transferを使用せず、リンクラベルで遷移すると
PostBackが戻る処理で発生するみたいです。
なので、リンクボタンを使用し、遷移するようにしたら
うまくできました。
1

スキルアップ/キャリアアップ(JOB@IT)