RESPONSE.WRITE
与<%=%>
都是ASP
程序向客户端输出字符串的方法,虽然两者的结果相同但是其效果是不同的。
一般的来说我们大部分时间将<%=%>
用于html
与asp
代码相混合的状态下,而Response.Write
用于〈%……
%〉脚本段中,但从VBScript
语法 <% = expression %>
将“表达式”的值写入 ASP
输出流来分析这个方法可以发现。如果响应缓冲没有打开,则这些语句的每一句都会导致通过网络,以许多小型包的形式,向浏览器写入数据。这是非常慢的。另外,解释少量脚本和 HTML
,将导致在脚本引擎和 HTML
之间切换,也降低了性能。因此,对于 Response.Write
的一个调用,替换内嵌的密集组合表达式在应用程序的性能上可以得到很大的提高.
我们通常使用以下语句显示数据库内容:
<% do while not rs.eof %>
<%= rs("flides") %>
<% rs.movenext %>
<% loop %>
将不如
<% OUT_str=""
for i = 1 to rs.recodecount
OUT_str=OUT_str+rs("flides")
rs.movenext
next
Response.Write( OUT_str)
%>
执行速度快。
另外,
我们使用
for
i = 1 to rs.recodecount
替换掉
do while not rs.eof
也有一个显然的好处。用指定次数的循环,可以避免每次都检测是否到达循环的最后。
如此也可以提高效率。
本文探讨了ASP程序中两种输出字符串方法的区别:Response.Write与<%=%>。通过对比这两种方法的应用场景及效率,文章提供了提高网页显示速度的具体策略,如使用变量累积输出和循环替代条件判断。


被折叠的 条评论
为什么被折叠?



