- PR -

ウィンドウが残っていると最新データが表示されない

1
投稿者投稿内容
小僧
大ベテラン
会議室デビュー日: 2005/06/24
投稿数: 122
投稿日時: 2006-02-15 10:06
お世話になります。

ASP で作成している Web システムに関して
また皆様のお知恵を拝借したいと思います。
( ASP.NET ではありません。板違いでしたらご連絡下さい )

※ 文書だと説明しずらいのですが。。。

例えば、本の商品リストを出力し、詳細画面を表示するシステムがあるとします。
詳細画面からはメンテナンス画面が開けて、詳細情報を修正することが出来ます。

商品リストを出力する画面を A 画面、詳細画面・メンテナンス画面は B 画面とします。

ユーザは最初に検索条件を入れます。 ( 例えば、本のタイトルで文字列検索 )
すると、 A 画面にはキーワードにマッチしたリストが表示されます。
そこで、題名にリンクを張っておき、リンクを押下すると
新しいウィンドウで画面 B を展開します。
※ ちなみに、展開するのは JS の window.open メソッドです。

で、詳細画面が表示されますが、この内容に関して修正したいと思った場合、
本の題名にリンクが張られていますので、リンクを押下すると
同じウィンドウにメンテナンス画面が展開されます。
( ここで、「誰でも修正できるの?」とかは考慮しないで下さい。。。 )

メンテナンス画面にてデータを修正して、更新すると DB にはデータが更新されます。

問題はここからです。
現在の状況を整理すると
・DB には正しいデータが設定されている
・ウィンドウは A と B の両方が表示されている
という状況です。

ここで、再度画面 A からリンクを押下すると、古いデータが表示されます。
( ロジック的には DB からキーを元に Select するようになっています )

DB には正しいデータが設定されていますので、「キャッシュかな?」と思ったので、
IE の「ツール」→「インターネットオプション」→「ファイルの削除」を行った後、
同じ動きをしてみたらちゃんと DB からデータを取得していました。

また、データ登録後、画面 B を一度消して再度画面 A からリンクを押下した場合は
ちゃんと DB からデータを取得しています。 ( 正しい動き )

そこで質問なのですが、
・IE の「ツール」→「インターネットオプション」→「ファイルの削除」を行わないと、古いデータが取得されるのでしょうか?
・キャッシュの削除以外として、画面を一度 Close しないと新しいデータが取得されないのでしょうか?
・このような状態を回避する方法はあるのでしょうか?

環境ですが、
Web サーバ:Windows 2000 Server
クライアント:Windows 2000 Pro
IE 6.0
他に必要な情報がありましたらご連絡下さい。

宜しくお願いいたします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-15 10:31
<%
 Response.Expires = 0
 Response.AddHeader "Pragma", "No-Cache"
 Response.AddHeader "Cache-Control", "No-Cache"
%>
_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
小僧
大ベテラン
会議室デビュー日: 2005/06/24
投稿数: 122
投稿日時: 2006-02-15 10:46
お世話になります。

じゃんぬねっとサマ
いつも参考にさせて頂いています。
また、素早い返信ありがとうございます。

ご提示頂いたロジックをソース上部に設定した所、
キャッシュをとってこないで常に最新のデータを
取得するような動きになりました。

ありがとうございました。
今後とも宜しくお願いいたします。
1

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