当前位置: 首页 > 图文教程 > 网络编程 > ASP > response.write与<%=%>之间的区别

ASP
ASP调用ORACLE存储过程并返回结果集
用ASP实现网页BBS
关于Global.asa文件的深入研究与session变量失效提示的具体方法
简易ASP+注册系统
防护手册:如何防止ASP木马在服务器上运行
用Visual Basic实现多画面播放功能之二
如何增强ASP程序性能(1)
如何增强ASP程序性能(2)
如何增强ASP程序性能(3)
ASP备份数据库
二十八条改善 ASP 性能和外观的技巧
在Form域中Post大于100K的数据
如何使用ASP制作模似动态生长的表单?
Microsoft IIS 真的如此「不安全」吗?(1)
Microsoft IIS 真的如此「不安全」吗?(2)
Microsoft IIS 真的如此「不安全」吗?(3)
Microsoft IIS 真的如此「不安全」吗?(4)
Microsoft IIS 真的如此「不安全」吗?(5)
关于页面和代码分离
ServerVariables 对路径的操作

ASP 中的 response.write与<%=%>之间的区别


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 178 ::
收藏到网摘: n/a

自己也遇到过这种情况:数据库中才2w条记录,使用通常的那种html与asp混用的方法来显示,打开页面的时候,要等待很长的时间才能看到效果,然后点击下一页的时候,也需要很长的时间。请教过一些高手,才知道问题出在html与asp混用上,这种使用方法对数据量少,没有太大的影响。数据量多,就会浪费时间了。

RESPONSE.WRITE与<%=%>都是ASP程序向客户端输出字符串的方法,虽然两者的结果相同但是其效果是不同的。
一般的来说我们大部分时间将<%=%>用于html与asp代码相混合的状态下,而Response.Write用于〈%……%〉脚本段中,但从VBScript 语法 <% = expression %> 将“表达式”的值写入 ASP 输出流来分析这个方法可以发现。如果响应缓冲没有打开,则这些语句的每一句都会导致通过网络,以许多小型包的形式,向浏览器写入数据。这是非常慢的。另外,解释少量脚本和 HTML,将导致在脚本引擎和 HTML 之间切换,也降低了性能。因此,对于 Response.Write 的一个调用,替换内嵌的密集组合表达式在应用程序的性能上可以得到很大的提高.

我们通常使用以下语句显示数据库内容:

<% do while not rs.eof %>
<%= rs("flides") %>
<% rs.movenext %>
<% loop %>

将不如
<% str=""
for i = 1 to rs.recodecount
str=str+rs("flides")
rs.movenext
next 
Response.Write(str)
%>

执行速度快。另外,我们使用
for i = 1 to rs.recodecount
替换掉
do while not rs.eof
也有一个显然的好处。用指定次数的循环,可以避免每次都检测是否到达循环的最后。
如此也可以提高效率。