当我尝试从共享位置获取文本文件时,当用户从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();
答案 0 :(得分:1)
将HttpContext.Current.ApplicationInstance.CompleteRequest();
更改为Response.End();
我怀疑CompleteRequest()
正在呈现页面的其余部分。 Response.End()
关闭响应流并立即将其返回给客户端。
答案 1 :(得分:0)
尝试替换
HttpContext.Current.ApplicationInstance.CompleteRequest();
带
Response.End();