1

このコードでボタンをクリックして、クライアントマシンで.csvファイルを取得しようとしています。

Response.Clear();
    Response.ClearContent();
    Response.ClearHeaders();
    Response.ContentType = "text/csv"; ;
    Response.ContentEncoding = System.Text.Encoding.Unicode;
    Response.AddHeader("Content-Disposition", "attachment; filename=WBS.csv");
    Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
    string output = "WBSCode,Description,TerritoryCode,Amount" + "\n";
    Response.Write(output);

問題は、コードが実行されているのに、マシンに.csvファイルがないことです。問題は何ですか。私はこれを初めてやっています

4

1 に答える 1

4

csvを応答として送信するジェネリックハンドラー(.ashxファイル)を作成する必要があります。その場合、ボタンにはその.ashxへのURLが必要です。以下は、コードの一部を含むハンドラーの例です。

public class GetCsvFile : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/csv";
        context.Response.AddHeader("Content-Disposition", "attachment; filename=WBS.csv");
        context.Response.Write("WBSCode,Description,TerritoryCode,Amount\n");
    }

    public bool IsReusable
    {
        get
        {
            return true;
        }
    }
}
于 2012-11-15T12:34:32.473 に答える