首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> ASP 程式設計 >> ASP 入門教學

ASP 入門教學:Response 物件常用方法實戰指南

     編輯:ASP 入門教學

Response 物件提供多種方法控制輸出流程、導向與二進位傳輸,是 ASP 開發者每天最頻繁呼叫的工具箱。

1. Write 方法:輸出字串至瀏覽器

Response.Write Variant
  • Variant 可包含任何合法 HTML 標籤,但不可包含 %> 字串(會被誤判為 ASP 結束標記),需寫成 %\> 或拆開串接。
  • VBScript 靜態字串常數長度上限 1,022 字元;超長內容請改用變數或分段輸出。
  • 簡寫語法:<%= 變數 %> 等同 <% Response.Write 變數 %>。
  • 差異:Response.Write 從伺服器輸出;Document.Write 從瀏覽器端腳本輸出。

範例:純腳本產出完整 HTML

<%@ 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 "&nbsp;&nbsp;&nbsp;&nbsp;上帝是公平的...(長字串省略)"
Response.Write "</font></BODY></HTML>"
%>

2. Redirect 方法:HTTP 302 導向新網址

Response.Redirect 路徑
  • 路徑:相對或絕對 URL。
  • 必須在任何輸出之前呼叫(含空白行、HTML 標籤),否則拋出「標頭已送出」錯誤。
  • 若需在 <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」。

3. 其他常用方法速查

方法用途關鍵備註
AddHeader自訂 HTTP 回應標頭如 Content-Disposition: attachment 強制下載
AppendToLog在 IIS 日誌尾端加入自訂字串方便後續離線分析
BinaryWrite輸出二進位資料(不轉碼)圖片、檔案下載、PDF 串流
Clear清除緩衝區內容需 Buffer=True,輸出前呼叫
End立即停止腳本執行、回傳目前結果後續程式碼不再執行
Flush立即送出緩衝內容配合 Buffer=True 做漸進式顯示

實務陷阱與最佳實踐

  1. Redirect 後仍有程式碼:Response.Redict 後建議緊接 Response.End,避免後續邏輯誤執行。
  2. BinaryWrite 輸出圖片:務必先 Response.ContentType = "image/jpeg",再 BinaryWrite,否則瀏覽器無法正確渲染。
  3. Flush 過度使用:頻繁 Flush 會增加網路封包碎片化,影響傳輸效率;建議關鍵節點(如表頭、進度條)才呼叫。
  4. Clear 失效:若已 Flush 或 End,緩衝區已送出,Clear 無效。

熟練掌握 Response 方法,能讓您精準控制每一個位元組何時、如何抵達使用者瀏覽器。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved