为什么循环只进行了一次

tianfu1 2009-10-05 09:48:00
我先获得了所要下载文件的文件名,将他们保存到一个数组中。
然后遍历数组中的文件进行下载
但是循环只进行了一次便结束了
请各位看看是怎么回事,我调试的时候数组的长度是4,很奇怪

代码如下

protected void DownLoad(object sender, EventArgs e)
{
String[] fileList = FileNames.Value.Split(':');///获取选中的文件的相对路径数组

foreach (String fileName in fileList)
FileDownLoad(Response, Request.MapPath(fileName));

}


private void FileDownLoad(HttpResponse response, String fullFileName)
{
FileInfo downLoadFile = new FileInfo(fullFileName);

response.Clear();
response.ClearHeaders();
response.Buffer = false;
response.ContentType = "application/octet-stream";
response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(downLoadFile.FullName, System.Text.Encoding.ASCII));
response.AppendHeader("Content-Length", downLoadFile.Length.ToString());
response.WriteFile(downLoadFile.FullName);
response.Flush();
response.End();
}
...全文
149 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
l120157414 2011-03-14
  • 打赏
  • 举报
回复
请问问题是怎么解决的?
tianfu1 2009-10-05
  • 打赏
  • 举报
回复
我明白了,谢谢
wuyq11 2009-10-05
  • 打赏
  • 举报
回复
Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件。不执行 Response.End 后面的代码行
啊兵 2009-10-05
  • 打赏
  • 举报
回复
学习一下了
cpp2017 2009-10-05
  • 打赏
  • 举报
回复
因为你的循环中有了 response.End();
线程结束了,循环不会再继续.

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧