RESPONSE.WRITE和<%=%的區(qū)別
更新時間:2007年04月04日 00:00:00 作者:
RESPONSE.WRITE與<%=%>都是ASP程序向客戶端輸出字符串的方法,雖然兩者的結(jié)果相同但是其效果是不同的。
一般的來說我們大部分時間將<%=%>用于html與asp代碼相混合的狀態(tài)下,而Response.Write用于〈%……%〉腳本段中,但從VBScript 語法 <% = expression %> 將“表達式”的值寫入 ASP 輸出流來分析這個方法可以發(fā)現(xiàn)。如果響應緩沖沒有打開,則這些語句的每一句都會導致通過網(wǎng)絡,以許多小型包的形式,向瀏覽器寫入數(shù)據(jù)。這是非常慢的。另外,解釋少量腳本和 HTML,將導致在腳本引擎和 HTML 之間切換,也降低了性能。因此,對于 Response.Write 的一個調(diào)用,替換內(nèi)嵌的密集組合表達式在應用程序的性能上可以得到很大的提高.
我們通常使用以下語句顯示數(shù)據(jù)庫內(nèi)容:
<% do while not rs.eof %>
<%= rs("flides") %>
<% rs.movenext %>
<% loop %>
將不如
<% OUT_str=""
for i = 1 to rs.recodecount
OUT_str=OUT_str+rs("flides")
rs.movenext
next
Response.Write( OUT_str)
%>
執(zhí)行速度快。
另外,我們使用
for i = 1 to rs.recodecount
替換掉
do while not rs.eof
也有一個顯然的好處。用指定次數(shù)的循環(huán),可以避免每次都檢測是否到達循環(huán)的最后。
如此也可以提高效率。
一般的來說我們大部分時間將<%=%>用于html與asp代碼相混合的狀態(tài)下,而Response.Write用于〈%……%〉腳本段中,但從VBScript 語法 <% = expression %> 將“表達式”的值寫入 ASP 輸出流來分析這個方法可以發(fā)現(xiàn)。如果響應緩沖沒有打開,則這些語句的每一句都會導致通過網(wǎng)絡,以許多小型包的形式,向瀏覽器寫入數(shù)據(jù)。這是非常慢的。另外,解釋少量腳本和 HTML,將導致在腳本引擎和 HTML 之間切換,也降低了性能。因此,對于 Response.Write 的一個調(diào)用,替換內(nèi)嵌的密集組合表達式在應用程序的性能上可以得到很大的提高.
我們通常使用以下語句顯示數(shù)據(jù)庫內(nèi)容:
<% do while not rs.eof %>
<%= rs("flides") %>
<% rs.movenext %>
<% loop %>
將不如
<% OUT_str=""
for i = 1 to rs.recodecount
OUT_str=OUT_str+rs("flides")
rs.movenext
next
Response.Write( OUT_str)
%>
執(zhí)行速度快。
另外,我們使用
for i = 1 to rs.recodecount
替換掉
do while not rs.eof
也有一個顯然的好處。用指定次數(shù)的循環(huán),可以避免每次都檢測是否到達循環(huán)的最后。
如此也可以提高效率。
相關文章
ASP編程入門進階(十四):Browser & Linking
ASP編程入門進階(十四):Browser & Linking...2007-01-01javascript asp教程第六課-- response方法
javascript asp教程第六課-- response方法...2007-03-03ASP編程入門進階(廿一):DAO SQL之建立數(shù)據(jù)庫表
ASP編程入門進階(廿一):DAO SQL之建立數(shù)據(jù)庫表...2007-01-01