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

您需要创建一个通用处理程序(.ashx 文件),它将 csv 作为响应发送。然后,您的按钮只需要有一个指向该 .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 回答