当前位置:编程学习 > asp >>

脚本大块化和Response.Write语句

答案:

VBScript语法<% = 表达式 %>把“表达式”的值写到ASP输出流中;但如果响应缓冲没有打开,每个这样的语句都会想浏览器写数据,就把网络流分成很多小的包。这样会慢。同样,零星的小段脚本和HTML导致频繁的在脚本引擎和HTML之间切换,降低了性能。因此,应该使用以下技巧:把小块内嵌表达式改成调用Response.Write。例如,在下面的例子中,每行的每个字段都向响应流中写数据,并且每行都在VBScript和HTML中切换: 


<table>
<% For Each fld in rs.Fields %>
  <th><% = fld.Name %></th>
<%
Next
While Not rs.EOF
%>
 <tr>
 <% For Each fld in rs.Fields %>
  <td><% = fld.value %></td>
 <% Next
 </tr>
 <% rs.MoveNext
Wend %>
</table>

  下面是更有效的代码,每行只向响应流中写一次。所有的代码包含在一个VBScript块中:

<table>
<%
 For each fld in rs.Fields
   Response.Write ("<th>" & fld.Name & "</th>" & vbCrLf)
 Next
 While Not rs.EOF
  Response.Write ("<tr>")
  For Each fld in rs.Fields %>
   Response.Write("<td>" & fld.value & "</td>" & vbCrLf)
  Next
  Response.Write "</tr>"
 Wend
%>
</table>

  当响应缓冲被禁止时,这个技巧非成的有效。最好打开响应缓冲,然后再看看批量地Response.Write对性能的提高。

 

上一个:ASP运行环境的搭建
下一个:正确地使用Session对象

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,