asp.net进度条:在ASP处理程序时显示进度来源: 发布时间:星期四, 2009年2月12日 浏览:157次 评论:0
用过软件Software朋友都知道进度条是个优秀软件Software重要组成部分 它存在能够使用户及时掌握运行进度确认应用正常工作可是ASP中似乎没有上述标准Control控件控制起来也比较麻烦 那幺如何实现进度条呢? 以下是本人些观点(仅供参考) 我们通常在用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占100001%. sub delayshow(dstep,dmax) dim total //显示画面100张img dim dtemp //过渡变量 total=100 dtemp=dstep dstep=dstep+lostnum (dstep*total)/dmax<1 then //判断当要处理东西连1%都没有时不画img同时用变量lostnum存放未画处理总数便于下次本过程时在处理 lostnum=lostnum+dtemp for ccc=1 to fix((dstep*total)/dmax) //取整数 Response.Write \"<img src=\"http://127.0.0.1/Files/BeyondPic/2007-4/19/0741913273546594.jpg\"\">\" next Response.Flush //将缓存Cache里东西(图片)显示出来 //变量shownum用于存放目前已经画img shownum=shownum+fix((dstep*total)/dmax) lostnum=0 end end sub //由于算法问题主要是取余造成不能完全画100次这时就需要 过程showlost将余下未画img,通通显示处理实现进度条等长 sub showlost for ccc=1 to (100-shownum) Response.Write (\"<img src=\"http://127.0.0.1/Files/BeyondPic/2007-4/19/0741913273546594.jpg\"\">\") next Response.Write \"<BR>\" Response.Flush end sub 最后请注意 这里需要用到缓存Cache技术 response.buffer=true; response.flush; response.end 这些请参考MSDN帮助 0
相关文章读者评论发表评论 |