使用Response.Flush()时不需要的输出

时间:2011-07-09 09:38:29

标签: asp.net

我有一个包含按钮的asp.net(.aspx)页面。当我点击该按钮时,我希望将一些内容(以字节数组形式给出并在我的代码隐藏中创建)写入文本 文件并下载到用户(Open \ Save ..)。 我使用以下按钮单击处理程序语法:

  Response.Buffer = true;
            Response.Charset = "";
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.ContentType = "text/plain";
            Response.AddHeader("content-disposition", "attachment;filename=" + "non-queries.txt");
            Response.BinaryWrite(\*Here I send the byte array*\);
            Response.Flush();

现在字节数组的内容确实被写入文件中了,但是写的也是包含按钮的aspx页面的html内容,我不想写。

你能帮忙吗?我哪里出错?

2 个答案:

答案 0 :(得分:1)

添加Response.End()应该可以解决问题。我有类似的问题,这解决了我的问题。请参阅the following post

答案 1 :(得分:0)

您应该尝试在顶部添加Response.Clear();,看看是否能解决您的问题。您还可以添加Response.ClearContent();