0

当我试图从共享位置获取文本文件时,当用户从 Web 浏览器打开它时,它不显示文本文件内容,而是显示页面源。如何避免这种情况?我究竟做错了什么?这是我的代码。但是当我在本地运行时,我可以看到文本文件数据并且我也正在获取页面源。我的英语很糟糕,如果有任何错误,请见谅。

 GridViewRow rw = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
 LinkButton lnkTxtFile = (LinkButton)rw.FindControl("lnkTxtFile");
 string strFilename = lnkTxtFile.Text.Replace("/","\\");
 System.IO.FileInfo targetFile = new System.IO.FileInfo(strFilename);
 Response.Clear();
 Response.AddHeader("Content-Disposition", "attachment; filename=" + targetFile.Name);
 Response.ContentType = "application/octet-stream";
 Response.WriteFile(targetFile.FullName);
 HttpContext.Current.ApplicationInstance.CompleteRequest();
4

2 回答 2

1

更改HttpContext.Current.ApplicationInstance.CompleteRequest();Response.End();

我怀疑这CompleteRequest()是渲染页面的其余部分。Response.End()关闭响应流并立即将其返回给客户端。

于 2013-02-06T15:42:30.197 回答
0

尝试更换

HttpContext.Current.ApplicationInstance.CompleteRequest();

Response.End();
于 2013-02-06T15:44:24.237 回答