首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 技术专题 | 电子书下载 | 教学视频 | 网页设计 | 平面设计 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 文章正文

在ASP处理程序时进度的显示

文章来源ChinaItLab 作者佚名 更新时间2007-11-23 保存本文保存本文 推荐给好友推荐给好友 收藏本页收藏本页

  用过软件的朋友都知道,进度条是一个优秀软件的重要组成部分。

  它的存在能够使用户及时掌握程序的运行进度,确认应用程序正常工作。可是ASP中似乎没有上述标准控件,控制起来也比较麻烦。

  那幺如何实现进度条呢?以下是本人的一些观点(仅供参考)

  我们通常在用ASP处理程序(指的是写文件或操作数据库)的时候,会专门用一个页面(*.asp)去处理或控制这些程序,当处理完毕的时候再跳转到显示页面。这时我们就可以通过这些处理页面显示进度条。其方法是根据程序处理的进度依次画一百张同样的图形(如有颜色的矩形),从而形成进度条。其效果与用其它编程工具所实现的基本相似以下是一些Source,希望能够给各位有个启发。

  response.buffer=true dim lostnum dim shownum delayshow(dstep,dmax)过程是用于显示多少img(画多少进度)

  其中dmax为表示整个程序需要处理多少(dmax)步才能完成整个处理程序。

  其中dstep表示当前处理的步骤占整个处理过程中的分量,用数量表示。

  变量lostnum的存在是由于dmax过大(比如10000),而dstep过小(比如1)造成的。如果调用delayshow(1,10000)势必不可能画一次img,事实上delayshow(100,10000)才画一次,表示完成1%,因为100占10000的1%. sub delayshow(dstep,dmax)

  dim total //显示画面100张img dim dtemp //过渡变量total=100 dtemp=dstep dstep=dstep+lostnum if (dstep*total)/dmax<1 then //判断当要处理的东西连1%都没有时,不画img同时用变量lostnum存放未画的处理总数,便于下次调用本过程时在处理。

  lostnum=lostnum+dtemp else for ccc=1 to fix((dstep*total)/dmax) //取整数Response.Write "" next Response.Flush //将缓存里的东西(图片)显示出来//变量shownum用于存放目前已经画的img shownum=shownum+fix((dstep*total)/dmax)

  lostnum=0 end if end sub //由于算法的问题,主要是取余造成不能完全画100次,这时就需要过程showlost()将余下未画的img,通通显示处理,实现进度条的等长sub showlost()

  for ccc=1 to (100-shownum)

  Response.Write("<img src=""……/images/delay1.jpg"">")next Response.Write "

  " Response.Flush end sub最后请注意这里需要用到缓存技术response.buffer=true;response.flush;response.end

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题
 ·展现C#世界 C#程序设计专题
 ·Java入门 Tomcat的配置技巧精华专题
 ·Oracle RMAN物理备份技术详解
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航