ASPで抽出したデータをエディタで表示させる

手順 1.AAA.aspでbbb.aspへのリンクをクリック 2.bbb.aspでデータ抽出のスクリプトが実行さ...

o84 さんからの 回答

質問者が選んだベストアンサー

  • 2002/11/08 21:10
  • 回答No.2
  • ベストアンサー
o84

ベストアンサー率 31% (128/407)

すみません。
さきほどの答えに、誤解を生むところがありましたので、
もう少し詳しく書きます。ファイル書き出しにする、と
表現したのは間違いです。訂正いたします。

「Webサーバーは、ブラウザにファイルを返すときに、
 ファイルに含まれているコンテンツの種類をブラウザに
 知らせます。ブラウザはこの情報に基づいて、ファイルを
 そのまま表示できるかどうか、またはほかのアプリケーション
 を呼び出す必要があるかどうかを判断します。」

このコンテンツの種類を決めるのがコンテンツタイプです。
"text/HTML"で返すと、ブラウザが解析して表示します。
これが"text/plain"になると、ただのテキストになるわけです。

よって、aspからブラウザにテキストで返すには、
まずcontenttypeを"text/plain"にするわけです。

しかし、ふつうブラウザはtextを表示することができます。
これをブラウザに表示させるのではなく「ダウンロード」
の形にしたい場合、Content-Dispositionを使います。

「CGI プログラムなどから Content-Disposition ヘッダーを
 使用すると、任意のファイル名で Internet Explorer に
 ファイルをダウンロードさせることができます。」

上の二つをまとめた簡単なサンプルがこれです(↓)。
これだけ書いて、test.aspとでも名前をつけて実行してみてください。

<%
Response.ContentType = "text/plain"
Response.AddHeader "Content-Disposition", "attachment; filename=test.txt"
Response.Write "HELLO WORLD!"
%>
お礼コメント
qaznet

お礼率 17% (15/87)

をを!!
すばらしい!!
マジで助かりました。AddHeaderというメソッドはキャッシュに関することをするもんだとばっかり思ってました。
こんなときに使うんですね。
勉強になりました。
投稿日時:2002/11/11 10:18
この回答にこう思った!同じようなことあった!感想や体験を書こう!
この回答にはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
  • データ整理のシェルスクリプト その他(プログラミング・開発)

    AAA AAA BBB BBB CCC CCC 上記のようなデータがテキストで1万行程度あります。このデータを AAA@hoge.com AAA BBB@hoge.com BBB CCC@hoge.com CCC 上記のような形にしたいのです、hoge.comとAAAの間はTabです。 スクリプト1発で可能でしょうか、それともテキストエディタ+エクセルでやらなければならないでしょうか? お分かりになる方、方法等教えてください。 よろしくお願いします。...

  • AJAXの書き方について JavaScript

    <script type="text/javascript"> $( function() { $( '#ajax-button' ) .click( function() { $.ajax({ url: 'http://localhost:8080/app/family', type:'GET', data: {test1 : 'aaa', test2 : 'bbb' }, dataType: 'jsonp', success: function(data) { alert("ok"); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("ng"); } }); }); } ); </script> この部分は何を意味しているのでしょうか? $( '#ajax-button' ) .click( またここの部分をIDにして二つ別々のIDを書いてblur(fn()にしたい場合はどうすればいいのでしょうか? $("[id$=NO]").blur(function(){ $("[id$=NM]").blur(function(){ function() { $.ajax({ url: 'http://localhost:8080/app/family', type:'GET', data: {test1 : 'aaa', test2 : 'bbb' }, dataType: 'jsonp', success: function(data) { alert("ok"); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("ng"); } }); }); }); }); このようにしても動きません。 正しい書き方を教えていただきたいです。...

  • サーバでファイルを書くとデータが混ざる? Microsoft ASP

    お世話になります。 ASP.NET(VS2010)に関する質問です。 あるページクラスがArrayList型変数(Public)を持っています。 ---------------------------------------------------------------------- 1.ボタンクリックで、  (1)クライアントアドレスを含んだファイル名でファイルを開き、ある文字列を書き込む  (2)前述の変数に、1で使用したファイル名をAdd 2.別のボタンクリックで、  前述の変数値からファイル名を取得・ファイルをダウンロードして、表示等を行う  ダウンロード時は、ファイルに含まれるクライアントアドレスと、自身のアドレスを比較  して、合致する場合のみダウンロード ---------------------------------------------------------------------- と言う処理があります。 現在これを複数の端末から行うと、稀にユーザーから、 「明らかに自分の端末から処理した物と違うデータが表示される」 と指摘されます。 例えば、クライアントAは「AAA」「CCC」、クライアントBは「BBB」と表示されることを 期待していると、クライアントAに「AAA」「BBB」「CCC」、クライアントBに「BBB」と表 示される様です。 この様な事が起こる原因として考えられる理由には何があるでしょうか? 自分が気になっている点としては、 ---------------------------------------------------------------------- 1.ArrayList型変数の初期化が、宣言時にしか行われていない 2.そもそもクラス変数ではなく、Session変数を使用すべき? 3.ファイルの書き込み時にロックをしていない ---------------------------------------------------------------------- があるのですが… 以上、お詳しい方、情報頂けると幸いです。 よろしくお願いいたします。...

  • 重複データの表示 Microsoft ASP

    教えてください。 ASP(クライアント側)の一部分です。 5件目にエクセルで表示したい列(A~Z)が入っています。 例えばDataの中身は 1:001,aaa,111,bba,A,1 2:002,aab,111,bbb,B,5 3:003,aac,111,bbc,C,1 4:004,aad,999,bbd,A,2 こんなデータが入ってるとすると3番目の111の重複しているものは1行のABCの列に1~3のデータを入れたいのです。そして4番目は次の行というふうに。 そのために1に入ってる111を別に格納して2のデータと比較。違ったら次の行へ。同じだったらその行のまま。 intCountには30件のデータが入っています。 アドバイスお願いします。 -------------------------------------- intCount = UBound(Data) Dim p ' ページカウント Dim L ' ラインカウント Dim R ' レコードカウント Dim Point ' 編集用ポイント Dim CodeSave ' Aコード退避用 p = 0 L = 2 R = 0 With objExcelSheet While R <= intCount intRow = (L + p * 40) ' カンマを認識しない strData = split(Data(R),",") CodeSave = strData(3) Do Until(CodeSave <> strData(3)) .Cells(intRow,strData(5)).Value = strData(??)  ←わからない・・・ R = R + 1 If R <= intCount Then strData = split(Data(R), ",") Else Exit Do End If Loop L = L + 1 Wend End With --------------------------------------...

  • テーブルの行数を可変長にしたいです JavaScript

    JavaScriptで出力したテーブルを変更ボタンを押した時にテーブルの データと行数を変更したいのですが、行数の変更がどうしても出来ません。 以下の「予定」のテーブルのように変更前が5行のテーブルを変更後が3行の テーブルに変更するにはどのようにすればよろしいでしょうか。 ご教授お願いいたします。 ---------- | 変更前 | ---------- |1:aaa | ---------- |2:bbb | ---------- |3:ccc | ---------- |4:ddd | ---------- |5:eee | ---------- ---------- | 変更後 | ---------- |6:fff | ---------- |7:ggg | ---------- |8:hhh | ---------- |4:ddd | ---------- |5:eee | ---------- ---------- | 予定 | ---------- |6:fff | ---------- |7:ggg | ---------- |8:hhh | ---------- ---------------------------------------- 以下サンプルソース ---------------------------------------- <html> <head> <title>サンプル</title> </head> <body> <script type="text/javascript"> <!-- var data_1 = new Array(); data_1[0] = "1:aaa"; data_1[1] = "2:bbb"; data_1[2] = "3:ccc"; data_1[3] = "4:ddd"; data_1[4] = "5:eee"; var data_2 = new Array(); data_2[0] = "6:fff"; data_2[1] = "7:ggg"; data_2[2] = "8:hhh"; function change_table() { var i; for(i = 0;i < data_2.length;i++){ document.getElementById("data"+i).innerHTML = data_2[i]; } } function create_table() { var i; for(i = 0;i < data_1.length;i++){ document.write("<tr><td id=\"data"+i+"\"></td></tr>"); document.getElementById("data"+i).innerHTML = data_1[i]; } } // --> </script> <form> <input type="button" value="テーブル変更" onClick="change_table()"> </form> <table border=4> <script type="text/javascript"> <!-- create_table(); // --> </script> </table> </body> </html>...

ページ先頭へ