附件包含页面内容

时间:2015-11-24 20:20:46

标签: c# asp.net attachment

所以,我正在尝试将文件传输到客户端。根据其他一些SO答案,我目前有以下代码(某人是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());

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

2 个答案:

答案 0 :(得分:1)

您需要添加

Response.End();

在您的代码之后。如果没有,Asp.Net将继续处理页面,这可能导致你发生的事情。

答案 1 :(得分:1)

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();