none
戻るボタンで情報が残らない RRS feed

  • 質問

  • .NET2.0でWebアプリケーションを開発しています。

    開発環境は、XP+IIS5.1
    テスト環境は、2003Server+IIS6.0
    言語は、VB.NET
    です。

    行っているのは、
    ページ1で情報入力 -> ページ1の「確認ボタン」押下 -> ページ2へ遷移
    ページ2は、ページ1の情報を表示して確認する画面

    そこで、ページ2で、ブラウザの戻るボタン、あるいは、ページ2にある「戻るボタン」を押下したとき、ページ1に戻れます。
    ページ1に戻ったときに、入力した情報が残っていて欲しいのですが、開発環境では、情報が残っているのに、テスト環境では、何も入力されていないページ1が表示されてしまいます。
    ちなみに、ページ2のボタンは、
    <input type="button" value="戻る" onClick="history.back()" />
    <input type="submit" value="送信" />
    のようになっています。

    動作環境の違いで、このようなことが起こっているように思えるのですが、どこに原因があるのか、まったく見当がつかず、こちらに質問させていただきました。

    よろしくお願いします。

    2007年2月6日 10:21

回答

  • ページ1のHTMLソースで、ヘッダ部分はどうなっていますか? また、確認されているブラウザは同一ですか?
    基本的に、ブラウザの戻るボタンやhistory.back()で戻った時の挙動は、ブラウザやその設定に依存します。
    どうしても戻った時に値が入力された状態にしたいのであれば、入力された値を格納しておいて、ページ1が表示された時に、ふたたびその値をセットするしかありません。この時の戻るボタンは、ブラウザの戻るボタンやhistory.back()ではなく、ASP.NETのボタンであり、サーバーサイドでコントロールすることになります。
    2007年2月6日 11:07
    モデレータ

すべての返信

  • ページ1のHTMLソースで、ヘッダ部分はどうなっていますか? また、確認されているブラウザは同一ですか?
    基本的に、ブラウザの戻るボタンやhistory.back()で戻った時の挙動は、ブラウザやその設定に依存します。
    どうしても戻った時に値が入力された状態にしたいのであれば、入力された値を格納しておいて、ページ1が表示された時に、ふたたびその値をセットするしかありません。この時の戻るボタンは、ブラウザの戻るボタンやhistory.back()ではなく、ASP.NETのボタンであり、サーバーサイドでコントロールすることになります。
    2007年2月6日 11:07
    モデレータ
  • trapemiya さん回答ありがとうございます。

    やはり、ブラウザ依存になってしまうんですね。試験対象のブラウザは、IE6を使用しています。
    開発環境では、IE6、Firefox2ともに大丈夫だったので、いけると思っていたのですが.....。
    戻るボタンをASP.NETのボタンにすることを検討してみたいと思います。(ブラウザの戻るボタンが使用できないことをお客さんに説明しないと.....)
    ちなみに、ページ1のHTMLソースのヘッダ部は、だいたい以下のようになっています。
    <%@ page language="VB" autoeventwireup="false" inherits="page1" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >

    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      <link rel="stylesheet" type="text/css" href="./css/base.css">
      <script type="text/javascript" src="page1.js"></script>
      <title>ページ1のタイトル</title>
    </head>

    2007年2月7日 1:26