ASPファイルをリロードするには

[上に] [前に] [次に]
麗子 1999/12/09(木) 11:55:22
はじめまして
ASPファイルのリロードについて
教えていただきたく質問をさせていただきました。

使用するファイルは2ファイルです。

1つ目のファイル(Select.asp)についてですが、
ActiveX のリストボックスが1つ、ボタンが1つあります。
リストボックスの選択項目を選択して、ボタンをクリック
すると、データを表示するファイル(data.asp)にリンクします。

2つ目のファイル(data.asp)についてですが、
Excelのオブジェクトを作成し、Excelファイルをオープンして
データを取得します。取得したデータをHTMLブラウザに表示します。
Excelのファイルオープンに失敗した場合、エラーメッセージを出力
して、前の選択画面(Select.asp)に戻ります。

このような2つのファイルで、
Select.aspのボタンを押されたときのリンク先の記述は、

Sub Button_Click()
Select Case SelectList.ListBox
Case select1
Document.Location = "data.asp"
Case select2
・・・・・・・・・・・
End Sub

data.aspファイルで、エラーの時の前に戻る時の記述は、
Sub Window_Load()
Dim OpenFlag
OpenFlag = <%=open_flag%> 'ファイルオープンフラグを取得する。

'ファイルオープンに失敗した場合
If OpenFlg = 1 Then
Document.Location = "select.asp"
End If

End Sub

そこで、わざとファイル名を変えて、エラーを起こすと、
前の画面に戻りますが、その時、再度ファイル名を正しく
直して、選択画面で選択してデータを表示させようとすると、
ファイルは実際あるのですが、エラーメッセージがまた表示さ
れてしまいます。多分キャッシュに残っている画面を表示しよう
としてしまっているのですが、これを回避するにはどのように
したらよろしいでしょうか?
長い文章で申し訳ありませんが、よろしくお願いします。

うぐいす 1999/12/09(木) 14:02:37
はじめまして。
いまいち、質問内容が掴めないので、逆に質問させていただきます。

>ASPファイルのリロードについて
なんだかタイトルが適切でないような気がします。
内容を読んだところリロードについて何が知りたいのかが書いていないような気がします。

# 私もタイトルつけるときは本当に悩みます。
# 本文の要約をするつもりで書いたほうが他の人に伝わりやすいと思います。

>ActiveX のリストボックスが1つ、ボタンが1つあります。
リストボックスを選択して、ボタンを押した時に画面を遷移するだけの処理ならば、
わざわざActiveXにする必要が無いように思うのですが、何か理由があるのでしょうか?
リストで選択された項目によって、遷移先が違うという処理が必要ならば、
JavaScriptを使用したほうが、良いと思います。

>OpenFlag = <%=open_flag%> 'ファイルオープンフラグを取得する。
これが、本当にVBScriptとしてかかれているならば、
エラーメッセージが表示されていませんか?
open_flgが変数名なのだとしたら、
OpenFlag = open_flag かあるいは、
OpenFlag = %><%=open_flag%><% となると思います。

# OpenFlag = %><%=open_flag%><% とするのも不自然ですが。(^^;)

>ファイルは実際あるのですが、エラーメッセージがまた表示されてしまいます。
変更されたファイル名がかかれているのは、ActiveXの中でしょうか?
それならば、dllの解放と登録をしなおす必要があるのかもしれません。

何を聞きたいのかをもうちょっと明確にして下さった方が、
RESがつきやすいと思いますよ。

通りがかり 1999/12/10(金) 20:53:52
私もそれで悩んでいます。
というのは、原因はどうも、IISがキャッシュしているため、
ブラウザで何やっても無駄っぽいからです。

ためしに、IISをマネージャで停止させてから、
IISを再度、起動させて、それからブラウザで
リロードすると、ちゃんと更新されます。

IISの設定を探してみてください。
結果分かったら私にも教えてください :-D

[上に] [前に] [次に]