我在按钮单击事件中有一些代码,它从隐藏的输入中获取 csv 字符串并将其作为 CSV 文件写入响应。
这在 Chrome、Firefox、ie7、ie9 的怪癖模式下工作正常。但是,它在 ie8 或 ie9 默认情况下不起作用。
在 fiddler 中查看这个 csv 正在写入响应,但另一个 get 请求在之后立即发出并且页面重新加载。没有文件保存对话框出现。
protected void btnCsvHidden_Click(object sender, EventArgs e)
{
var csv = csvString.Value;
var filename = "Reporting";
Response.Clear();
Response.ClearHeaders();
Response.AddHeader("Cache-Control", "no-store, no-cache");
Response.AddHeader("content-disposition", "attachment; filename=\"" + filename + ".csv\"");
Response.ContentType = "text/csv";
Response.Write(csv);
Response.End();
}