Asp实现边执行边输出结果
asp程序一边运行的时候一边把结果输出到客户端,这就需要利用缓冲页输出,即Response.Buffer。
< % Response.Buffer = True %>这句话的意思就是指明输出页面是否被缓冲,当属性值为True时,服务器将不会向客户端发送任何信息,直到所有程序执行完或者遇到< % Response.Flush %>或< % Response.End %>语句,才会释放缓冲区的信息。
下面给出示例:
1 2 3 4 5 6 7 8 | response.buffer =true for i=1 to 10000 response.write i&" <br />" for j=1 to 256 response.write " <span style='display:none;'>www.aimks.com </span>" next response.flush next |
我加一个j循环是为了每次i循环的输出数据都达到饱和状态,既至少有256字节,
所以i循环是一条一条从闸门里冲出来的。有很明显的“刷屏”效果。
如果你在每个i循环里加一个script语句,客户端脚本语句,那么运行速度会更慢,效果更家显著 。
为什么会用到此技术?
一般是没必要这样的,我是用在后台生成1千多个静态页面的时候,希望每操作一次都看到结果, 看到执行到哪里了,执行到哪一步了 。
需要注意的是:如果本例中 < %%>里的代码放在一个”table”里,那么一切努力都将作废。
因为table解释的时候先解释完 “td”里面的所有内容 然后执行 “table”等关闭标签,最后才一起发送给客户端。
DateDiff函数在Sql与Access中的区别详解 数据类型ntext和varchar在equal to运算符中出错的解决办法