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

ASP
用asp怎样编写文档搜索页面(5)
用asp怎样编写文档搜索页面(6)
ASP.NET: XML计数器第二版
ASP.NET: XML留言版第二版
不用图像组件的ASP图像计数器
用ASP实现文档资料管理
用ASP实现号码转换程序实例
如何用SAFileUp上传文件?
jmail4.1用pop3收信的例子
功能非常全面的日期处理函数
一个检查E文拼写错误的Code
简单的加密方法:XOR
ASP连接执行程序
编写“公平”的ASP图形计数器
跟我学做最强功能的网站统计
用asp.net写的论坛程序
用asp.net写的论坛程序--论坛主页
用asp.net写的论坛程序--浏览贴及回复
用asp.net写的论坛程序--上贴保存
利用CDONTS发送邮件的ASP函数

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


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