在ASP处理程序时显示进度

用过软件的朋友都知道,进度条是一个优秀软件的重要组成部分。它的存在能够使用户及时掌握程序的运行进度,确认应用程序正常工作。可是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 "<img src=http://www.163design.net/a/y/"".images/delay1.jpg"">"
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=http://www.163design.net/a/y/"".images/delay1.jpg"">")
next
Response.Write "<BR>"
Response.Flush
end sub

最后请注意
这里需要用到缓存技术
response.buffer=true;
response.flush;
response.end
这些请参考MSDN帮助

 

时间: 2024-09-12 08:35:33

在ASP处理程序时显示进度的相关文章

在ASP处理程序时显示进度_应用技巧

用过软件的朋友都知道,进度条是一个优秀软件的重要组成部分. 它的存在能够使用户及时掌握程序的运行进度,确认应用程序正常工作.可是ASP中似乎没有上述标准控件,控制起来也比较麻烦. 那幺如何实现进度条呢? 以下是本人的一些观点(仅供参考) 我们通常在用ASP处理程序(指的是写文件或操作数据库)的时候,会专门用一个页面(*.asp)去处理或控制这些程序,当处理完毕的时候再跳转到显示页面.这时我们就可以通过这些处理页面显示进度条.其方法是根据程序处理的进度依次画一百张同样的图形(如有颜色的矩形),从而

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

用过软件的朋友都知道,进度条是一个优秀软件的重要组成部分.它的存在能够使用户及时掌握程序的运行进度,确认应用程序正常工作.可是ASP中似乎没有上述标准控件,控制起来也比较麻烦.那幺如何实现进度条呢?以下是本人的一些观点(仅供参考) 我们通常在用ASP处理程序(指的是写文件或操作数据库)的时候,会专门用一个页面(*.asp)去处理或控制这些程序,当处理完毕的时候再跳转到显示页面.这时我们就可以通过这些处理页面显示进度条.其方法是根据程序处理的进度依次画一百张同样的图形(如有颜色的矩形),从而形成进

cocoa touch-转码mp3格式时显示进度条。

问题描述 转码mp3格式时显示进度条. 使用 LAME 将.caf音频文件编码为.mp3文件. 只有一个问题,需要计算转换文件的时间,用UIProgressView给用户显示转换进度,这点实现不了. NSArray *dirPaths; NSString *docsDir; dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); docsDir = [dirPaths

在ASP.NET中显示进度条

asp.net|显示 对于加载时间比较长的ASP.NET页面,我们可以在客户端浏览器中显示进度条来显示页面正在装载.下面就是具体的实现过程: 新建项目,名字为WebPortal,在项目类型中选择Visual C#项目或者Visual Basic项目都可: 在模板类型中选择ASP.NET Web应用程序: 位置里输入:http://localhost/WebPortal: 添加新项:名字为ShowProgress的Web窗体. 在您的Web窗体ShowProgress.aspx上添加任何其他的We

如何实现将datagridview的内容保存成excel时显示进度条

问题描述 各位大虾:请问如何在保存数据到excel的过程中显示保存的进度条那.我现在讲datagridview的内容保存到excel时总是会卡顿很久,线做一个进度条显示保存的进度.但是不知道怎么弄,求指点!注意:需要真实显示保存的进度状态. 解决方案 解决方案二:保存时如果你是遍历grid,那就加个progressbar就是了解决方案三:引用楼主guangzi8531的回复: 各位大虾:请问如何在保存数据到excel的过程中显示保存的进度条那.我现在讲datagridview的内容保存到exce

在线等!。net导出excel时显示进度条

问题描述 从datagrid中提取数据时,因为数据量过大,所以导致弹出保存提示框的时候页面一直在响应过程中,用户希望界面友好,加入进度条,如果很复杂,给一个动态GIF的页面中间提示,直到弹出保存框,GIF结束.谢谢最好有代码,网上找了好多,都不行. 解决方案 解决方案二:谢谢来一个人好心人帮忙下.解决方案三: 解决方案四:感觉CSDN的人越来越少了....解决方案五:这个我做过.你必须提前计算出大概要导出多少行..然后写一个操作进度条的委托,一旦跑了n行调用一些这个委托让进度条走.最终当所有行走

swing 下载文件时的进度条

Java swing中经常要使用到进度条,比如下载文件和拷贝文件时显示进度,如下图所示:  下载完成之后: 难点在于:在读取输入流的时候,实时更新进度条.  我自己定了一个规则: (1) 若输入流的大小小于1024,则字节数组的长度就是输入流的大小. <!--[if !supportLists]-->(1)      (2) <!--[endif]-->获取文件的大小,并平分为100等份,得到商1: <!--[if !supportLists]-->(2)       

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

用过软件的朋友都知道,进度条是一个优秀软件的重要组成部分. 它的存在能够使用户及时掌握程序的运行进度,确认应用程序正常工作.可是ASP中似乎没有上述标准控件,控制起来也比较麻烦. 用过软件的朋友都知道,进度条是一个优秀软件的重要组成部分. 它的存在能够使用户及时掌握程序的运行进度,确认应用程序正常工作.可是ASP中似乎没有上述标准控件,控制起来也比较麻烦. 那么如何实现进度条呢? 以下是本人的一些观点(仅供参考) 我们通常在用ASP处理程序(指的是写文件或操作数据库)的时候,会专门用一个页面(*

Asp.Net 无刷新文件上传并显示进度条的实现方法及思路

相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦苦来 实现呢?我并不否认"拿来主义",只是我个人更喜欢凡是求个所以然.本篇将阐述通过Html,IHttpHandler和 IHttpAsyncHandler实现文件上传和上传进度的原理,希望对你有多帮助. 效果图: 本文涉及到的知识点: 1.前台用到Html,Ajax,JQuery,JQuery UI 2.后台用到一般处理程序(IHttpHandler)