如何使用updateprogress控件,实现下载功能。

thinkhejie 2008-11-30 08:23:34
如何使用updateprogress控件,实现下载功能。

ASP.NET 2.0中,我想使用 updateprogress控件,做一个下载功能,

用户点击“按钮”,页面上出现updateprogress控件中的内容,然后从后台向前台输出一个文档,即弹出一个下载的对话框。
然后下载文档,请问怎么实现?
我看了一些文章 都是这样写的:

// 模拟长时间的操作
System.Threading.Thread.Sleep(5000); //这样 updateprogress控件的进度条就可以显示了。

//那下载的功能难道还要再实例化一个线程去做么? 请大大教教我。

...全文
203 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
thinkhejie 2008-12-01
  • 打赏
  • 举报
回复
下载的时候 页面要出现进度条,应该怎么实现,能提供一个思路么?
jiang_jiajia10 2008-12-01
  • 打赏
  • 举报
回复

public static void DownFile( string URL, string Filename, ProgressBar Prog )
{
System.Net.HttpWebRequest Myrq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(URL);
System.Net.HttpWebResponse myrp = (System.Net.HttpWebResponse)Myrq.GetResponse();
long totalBytes = myrp.ContentLength;
Prog.Maximum = (int)totalBytes;
System.IO.Stream st = myrp.GetResponseStream();
System.IO.Stream so = new System.IO.FileStream(Filename, System.IO.FileMode.Create);
long totalDownloadedByte = 0;
byte[] by = new byte[1024];
int osize = st.Read(by, 0, (int)by.Length);
while (osize > 0)
{
totalDownloadedByte = osize + totalDownloadedByte;
Application.DoEvents();
so.Write(by, 0, osize);
Prog.Value = (int)totalDownloadedByte;
osize = st.Read(by, 0, (int)by.Length);
}
so.Close();
st.Close();
}


thinkhejie 2008-12-01
  • 打赏
  • 举报
回复
没人知道吗? 各位大大教教我吧
thinkhejie 2008-11-30
  • 打赏
  • 举报
回复
那下载进度条是用什么实现? 能否提点一下?
huiaccp 2008-11-30
  • 打赏
  • 举报
回复
个人感觉lz的思路有问题
mengxj85 2008-11-30
  • 打赏
  • 举报
回复
顶一下,对Ajax研究的还不是很多
winner2050 2008-11-30
  • 打赏
  • 举报
回复
下载是用Response来作的。

在asp.net ajax下不能用Response,会报错的。

你说的这些下载进度条是不能用这种方式来实现的。

62,268

社区成员

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

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

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

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