我正在尝试将一些文本导出到文本文件,这部分工作正常。问题是文本文件在它们的底部得到了一堆HTML / .NET输出...换句话说,它就像响应没有结束而页面正在尝试编写页面的其余部分。这是代码:
Private Sub WriteData(ByRef Context As System.Web.HttpContext, Data As List(of String), fileName as String)
With Context.Response
.Clear()
.ClearHeaders()
.ClearContent()
.AddHeader("content-disposition", String.Format("attachment; filename={0}", fileName))
.ContentType = contentType
End With
For Each curValue in Data
Context.Response.Write(curValue)
Context.Response.Write(Environment.NewLine)
Next
Context.ApplicationInstance.CompleteRequest()
Context.Response.End()
End Sub
要调用它,我只需传递HttpContext.Current和数据列表。
有人知道为什么会这样吗?我不确定如何解释它,我看起来没有太多运气。我的假设是响应实际上并没有以“Response.End()”......
结尾谢谢,
麦克
答案 0 :(得分:0)
我的假设是您使用.aspx
来执行此操作。
这对于Generic Handler来说是一个完美的场景。请尝试使用.ashx
。
如果您需要更多信息,这是一个非常简单的教程:
http://www.brainbell.com/tutorials/ASP/Generic_Handlers_%28ASHX_Files%29.html