附件包含页面内容

Attached file contains page's content

所以,我正在尝试将文件传输到客户端。按照其他一些 SO 答案,我目前有以下代码(sb 是 StringBuilder):

HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ClearContent();

HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=export.csv");
HttpContext.Current.Response.ContentType = "text/csv";

HttpContext.Current.Response.Write(sb.ToString());

但是,我的问题是我得到了加速结果,然后包含我的按钮的页面的源代码被附加到文件中。

您需要添加一个

Response.End();

在你的代码之后。否则,Asp.Net 将继续处理该页面,这可能会导致您遇到这种情况。

string attachment = string.Empty;
HttpResponse Response = HttpContext.Current.Response;
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=export.csv");
Response.ContentType = "text/csv";
Response.Write(sb.ToString());
Response.End();