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

タグの編集
投稿者 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に赤く出ます。
適切なクラスを使用する本文とクラスのひな型を、教えていただければ幸いです。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 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/26 18:01:05
HttpContext.Current.を入れましたら、赤いマークが消えました。ありがとうございました。