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

ASP
ASP实例代码:搞个长文章分页代码
说说对象的复制
多个函数验证同一表单
查询某个字段没有值的所有记录的SQL语句怎么写?
ASP实例:一个简单的ASP无组件上传类
ASP实例讲解:用分页符实现长文章分页显示
ASP实例:动态网页中常用的6个ASP程序
ASP实例:词语搭配游戏的制作
ASP实例学习:随机生成文件名的函数
asp实例:测试WEB服务器
ASP实例:计数器程序详解
预防ASP网站被黑 彻底了解ASP木马
分享:XML HTTP Request的属性和方法简介
ASP架设:给每个IIS站点建立一个用户
ASP技巧:判断远程图片是否存在
故障解决:解决ASP脚本运行超时的方法
再说ASP输出N行N列表格
怎么判断一个对象是否已被释放
ASP实现网页打开任何类型文件都保存的方法
ASP技巧:利用函数InstrRev()获取当前文件名

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 60 ::
收藏到网摘: 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
也有一个显然的好处。用指定次数的循环,可以避免每次都检测是否到达循环的最后。
如此也可以提高效率。