webアプリのクラスでCSVファイルを作成ダウンロードへ への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 kojiro  (社会人) 投稿日時 2020/5/26 18:01:05
HttpContext.Current.を入れましたら、赤いマークが消えました。ありがとうございました。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2020/5/25 21:05:22
> クラスにするとResponseとServerに赤く出ます。

HttpContext.Current.Response や
HttpContext.Current.Server を使ってみてください。


> クラスでない場合は、赤いエラーは出ませんが、
ASP.NET WebPages の話だとすれば、
*.aspx.vb は System.Web.UI.Page クラスを継承して作られています。

Page クラスには Response プロパティや Request プロパティや
Application プロパティや Server プロパティなどがあります。

つまり、
> Response.AppendHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(td2))

Me.Response.AppendHeader("Content-Disposition", "attachment; filename=" + Me.Server.UrlEncode(td2))
に相当するコードを意味します。
投稿者 kojiro  (社会人) 投稿日時 2020/5/25 20:37:27
クラスからCSVファイルを作成、ダウンロードできるようなものを作成中です。
 Dim td2 As String
 Encode = System.Text.Encoding.GetEncoding("Shift-JIS") 
 td2 = "XXX.CSV"
 Response.AppendHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(td2))
で、クラスでない場合は、赤いエラーは出ませんが、クラスにするとResponseとServerに赤く出ます。
適切なクラスを使用する本文とクラスのひな型を、教えていただければ幸いです。