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

ASP
利用cookie收藏网站
显示左边的n个字符(自动识别汉字)函数
怎样经由ADO来压缩Microsoft Access数据库
样设置为使用OLEDB连接我的Access数据库?
纯猝使用VBScript来实现加密
ASP.NET:处理session
输入显示框中循环出现文字
关于密码校验
图片循环显现
怎样传送更多的数据在表单中
对ASP脚本源代码进行加密
判断函数是奇数还是偶数
SQL7的image字段的文件下载到客户端
怎样把数据库结构显示出来的源代码
随机访问Recordset的一条记录
利用http组件实现多引擎搜索功能
String添加trim,ltrim,rtrim
ASP创建EXCHANGE用户的一段代码
测字符串长度函数
如何从ACCESS数据库中读取图形(续)

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


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