Win2k+IISでASPプログラムを組んでいます。
A.aspのページでボタンを押すとA.aspないのDownLoad関数実行してファイルをダウンロードするプログラムです。
一回目はうまくダウンロードできますが,それが終わった後A.asp内のボタンを押してもダウンロードが出来ません。
これはなぜでしょうか。
(1)怪しいと思うところはA.aspページで全て処理しているからかな~と思います。
A.asp
function download()
Response.AddHeader "Content- Disposition","attachment;filename=aa.csv"
Response.ContentType = "application/octet-stream"
Response.Write( "AAAAaaa" & "," )
Response.Write( "BBBaaa" & "," )
Response.End()
End function
No.1ベストアンサー
- 回答日時:
> 怪しいと思うところはA.aspページで全て処理しているからかな~と思います。
たぶん正解です^^;
JavaScriptを組み込んでいることはないですよね?
テストしたわけではないんですが、おそらく下から2行目の
Response.End()
が影響しているのかと。
Response.Endはファイル出力終了の意味で、ここでは使用していますが
ASP自体の出力の終了も意味しますよね。
ファイル出力のFunctionに入る前に、ボタン等を表示しないと
表示されているボタンが前の画面のもので、無効になっているのかなぁと。
(画面表示の後、同一asp内でファイル出力できたかどうか、は自信なしです。)
私が作成したダウンロードのプログラムは、2つのaspで作成しました。
a.aspでボタンをクリックすると、b.aspでファイル出力~
私の場合はファイル出力後、a.aspの画面はそのまま使えましたけど。
この回答への補足
なるほど、一回目をダウンロードしたあと、2回目ダウンロードしようとボタンを押しても効かないのは画面上に存在しても、IEのメモリ上では(詳しく分かりませんが)開放(?)されてる感じでしょうか。
一応、画面表示をしたあと最後にダウンロードすることを試みてみます。
試してみましたが、だめでした。
>私が作成したダウンロードのプログラムは、2つのaspで>作成しました。
>a.aspでボタンをクリックすると、b.aspでファイル出力~
>私の場合はファイル出力後、a.aspの画面はそのまま使えましたけど。
このときb.aspは新しいWindowを開いてダウンロードしましたか。そうでしたら、この新しいWindowを自動的に閉じたくなりますか。。。。。
No.3
- 回答日時:
全然関係なかったらごめんなさい。
マイクロソフトの技術情報418126はどうでしょうか?
・IE5.5以上を使用している。
・フレームを構成している。
・Content- Disposition attachmentを使用している。
・ダウンロード後target=を指定したリンクをクリックする。
以上の条件に全て当てはまると動かなくなるというものです。
No.2
- 回答日時:
> このときb.aspは新しいWindowを開いてダウンロードしましたか。
> そうでしたら、この新しいWindowを自動的に閉じたくなりますか。。。。。
質問ですか?jaekukさんがテストした結果ですか?
私のソースでは、b.aspに処理が遷移しても新しいウィンドウは開きません。
ダウンロードするためのダイアログボックスは表示されます。
保存ボタンを押せば、元の画面に戻ります。
そして元の画面(a.asp)も使える、と。
もし、jaekukさんがテストした結果、新しいウィンドウが表示されたのでしたら
それは、a.aspのHTMLかJavaScriptで新しいウィンドウを開くように設定しているのが問題です。
わからないことがあれば、また質問して下さい。
この回答への補足
新しいウィンドウを開かないと、だめだったのでひらいたんですが、何とか解決しました.
問題だったのは、JavaScriptでFormデータを参照するところでした。2つフレーム構造になっていましたが、どうやら二回目のダウンロードボタンをおすと、Formデータにアクセスできなくなったのが問題でした.
document.formNameA.txtName.value = "Down"
を
parent.frameNameA.formNameA.txtName.Value = "Down"
にしたらちゃんと動くようになりました。
(多分ダウンロードした後は、現在のDocumentオブジェクトが変わるんじゃないか思います。)
色々ご親切な回答有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10にデュアルブートでXP...
-
onedrive にexcelファイルをア...
-
PS4で、「バージョン5.05以上の...
-
バッチファイルで電卓作ったの...
-
エクセルに張り付けた写真のフ...
-
キヤノン アソビカメラ iNSPiC ...
-
エクセルVBAで印刷する書式をク...
-
VB.NETでMSComm が追加できず?
-
お世話になります。 Windows Up...
-
入力フォームのテキストボック...
-
ASP.NetでWebアプリ開発の経験...
-
バッチで当日日付で作成される...
-
高校1年生情報の問題について。
-
VB.NET2017のエディタ画面について
-
python3 足し算の問題
-
SPO2測定
-
エクセルのマクロについて教え...
-
インドe-Visa 承認書のApplicat...
-
SPIの非言語の割合と比が難しく...
-
SPIの対策は参考書でやるべきか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ASP内で他のASPファイルを読み...
-
画面のリフレッシュを意図的に...
-
C# のプログラミングについて
-
.html ファイルでasp実行?
-
ASPでタブのように見せる方法
-
ASPからのファイル検索
-
aspの記述がコメント表示されて...
-
JavaScriptで取得した値をASPで...
-
拡張子.aspって作成するの?
-
C# try-catch でcatchに飛ばす方法
-
FileCopy時のエラー
-
エクセルVBA 宣言Dimの場所
-
CreateObject("Excel.Applicati...
-
ページの更新内容が反映されない。
-
VBSでIEを起動し、拡大率を変更...
-
隠しフィールドをVBScriptでの...
-
Outlookで添付ファイルの有無を...
-
名前が二重に定義されています
-
ソケット通信で同時受信の制限?
-
fopenでエラーとなる
おすすめ情報