asp Response.flush 实时显示进度(2)



   好了,想实现立即输出的效果,只要在循环体内的希望输出提示信息后加上Response.Flush和Response.Clear就可以了。如:

<%
for i=1 to 2000
for i1=1 to 3000
''空循环,延长每次执行时间
next
Response.write i&")"
Response.Flush
Response.Clear
next
%>

    上述asp语句,你执行后,会发现输出是逐个逐个输出的,执行一次,就输出一次。

    但我在网上看到有人说,“很多时候,我们发现即使我们使用了Response.Flush(),但是并没有将前面的信息发到客户端来显示。呈献给我们的依然是白屏。经过反复的测试,我得出一个结论:就是flush的内容至少要有256字节。也就是只有编译产生了至少256字节的数据,才能在执行Response.Flush()以后将信息发到客户端并显示。”

    很奇怪,上述我给出的语句确确实实是实现了逐个显示的效果的,并没有事先输出256个字节,大家可以把上述语句另存为记事本运行看看,效果是逐行显示的。本人所列观点,仅代表flymorn个人观点,不挪作他用。

    如果你确实需要事先输出256个字节,可以如下:

<%
dim liji
for i=1 to 256
liji=liji&"<!--先产生256个字符-WWW.PIAOYI.ORG-->"
if len(liji)>=256 then exit for
next
%>
   如果你有不同的看法,或有不同的试验结果,欢迎与我一起讨论。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/2878.html