ASP.Net将文件下载到客户端浏览器

我正在编写一个简单的testing页面,通过单击button将文本文件下载到浏览器。 我遇到了一个我从未见过的非常奇怪的错误。 有什么想法吗?

“Response.End();” 而该文件永远不会到达客户端浏览器

码:

string filePath = "C:\\test.txt"; FileInfo file = new FileInfo(filePath); if (file.Exists) { Response.ClearContent(); Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name); Response.AddHeader("Content-Length", file.Length.ToString()); Response.ContentType = "text/plain"; Response.TransmitFile(file.FullName); Response.End(); } 

错误:

无法评估expression式,因为代码已经过优化,或者本地框架位于调用堆栈之上。

尝试改变它。

  Response.Clear(); Response.ClearHeaders(); Response.ClearContent(); Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name); Response.AddHeader("Content-Length", file.Length.ToString()); Response.ContentType = "text/plain"; Response.Flush(); Response.TransmitFile(file.FullName); Response.End(); 

如果您遇到下载文件名称的问题,只需稍微补充上述解决scheme…

 Response.AddHeader("Content-Disposition", "attachment; filename=\"" + file.Name + "\""); 

这将返回确切的文件名,即使它包含空格或其他字符。