我正在尝试通过以下代码单击按钮在客户端计算机上获取 .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 文件。问题是什么?我第一次这样做
最佳答案
您需要创建一个通用处理程序(.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;
}
}
}
关于c# - 为什么我没有在使用 C# 的 asp.net 应用程序中获取 .csv 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13397423/