Response 物件提供多種方法控制輸出流程、導向與二進位傳輸,是 ASP 開發者每天最頻繁呼叫的工具箱。
Response.Write Variant
Variant 可包含任何合法 HTML 標籤,但不可包含 %> 字串(會被誤判為 ASP 結束標記),需寫成 %\> 或拆開串接。<%= 變數 %> 等同 <% Response.Write 變數 %>。Response.Write 從伺服器輸出;Document.Write 從瀏覽器端腳本輸出。<%@ Language="VBScript" %>
<%
Response.Write "<HTML>"
Response.Write "<HEAD><TITLE>Write 方法範例</TITLE></HEAD>"
Response.Write "<BODY><CENTER>"
Response.Write "<font color='red' size='6' face='華文彩雲'>**留意你的寶石**</font>"
Response.Write "<hr size='2' color='green' width='70%'>"
Response.Write "<font color='#cc9999' size='5'>"
Response.Write " 上帝是公平的...(長字串省略)"
Response.Write "</font></BODY></HTML>"
%>
Response.Redirect 路徑
路徑:相對或絕對 URL。<html> 之後導向,必須先設定 Response.Buffer = True。<%@ Language=VBScript %>
<% Response.Buffer = True %>
<html><body>
<%
myTime = Time()
If myTime >= #5:00:00# And myTime <= #19:00:00# Then
PageName = "4-2c1.htm" ' 開放中
Else
PageName = "4-2c2.htm" ' 休站中
End If
Response.Redirect PageName
%>
</body></html>
目標頁面分別顯示「歡迎光臨」與「休站時間 17:00~05:00」。
| 方法 | 用途 | 關鍵備註 |
|---|---|---|
AddHeader | 自訂 HTTP 回應標頭 | 如 Content-Disposition: attachment 強制下載 |
AppendToLog | 在 IIS 日誌尾端加入自訂字串 | 方便後續離線分析 |
BinaryWrite | 輸出二進位資料(不轉碼) | 圖片、檔案下載、PDF 串流 |
Clear | 清除緩衝區內容 | 需 Buffer=True,輸出前呼叫 |
End | 立即停止腳本執行、回傳目前結果 | 後續程式碼不再執行 |
Flush | 立即送出緩衝內容 | 配合 Buffer=True 做漸進式顯示 |
Response.Redict 後建議緊接 Response.End,避免後續邏輯誤執行。Response.ContentType = "image/jpeg",再 BinaryWrite,否則瀏覽器無法正確渲染。Flush 會增加網路封包碎片化,影響傳輸效率;建議關鍵節點(如表頭、進度條)才呼叫。Flush 或 End,緩衝區已送出,Clear 無效。熟練掌握 Response 方法,能讓您精準控制每一個位元組何時、如何抵達使用者瀏覽器。