ASP內建對象詳解之Response對象

來源:互聯網
上載者:User
response|對象|內建對象|詳解

  Response對象用於向用戶端瀏覽器發送資料,使用者可以使用該對象將伺服器的資料以HTML的格式發送到使用者端的瀏覽器,它與Request組成了一對接收、發送資料的對象,這也是實現動態基礎。下面介紹它常用的屬性和方法。

  1、Buffer屬性

  該屬性用於指定頁面輸出時是否要用到緩衝區,預設值為False。當它為True時,直到整個Active Server Page執行結束後才會將結果輸出到瀏覽器上。如:
<%Response.Buffer=True%>
<html>
<Head>
<title>Buffer樣本</title>
</head>
<body>
<%
  for i=1 to 500
    response.write(i & "<br>")
  next
%>
</body>
</html>
  這頁執行時,整個首頁的所有內容會同時顯示在瀏覽器上,這個首頁會存在緩衝區中直到指令碼執行結束。

  2、Expires屬性

  該屬性用於設定瀏覽器快取頁面面的時間長度(單位為分),必須在伺服器端重新整理。通過如下設定:
<%Response.Expires=0%>
  通過在ASP檔案中加入這一行代碼,要求每次請求是重新整理頁面,因為Response一收到頁面就會到期。

  3、Write方法

  該方法把資料發送到用戶端瀏覽器,如:  
<%Response.write "Hello,world!"%>

  4、Redirect方法

  該方法使瀏覽器可以重新置放到另一個URL上,這樣,當客戶發出Web請求時,用戶端的瀏覽器類型已經確定,客戶被重新置放到相應的頁面。如:
<html>
<head>
<title>Redirect樣本</title>
</head>
<body>
<form aciton="formjump.asp" method="post">
  <select name="wheretogo">
    <option selected value="fun">Fun</option>
    <option value="news">News</option>
    <option value="sample">Sample</option>
  </select>
<input type=submit name="jump" value="Jump">
</form>
</body>
</html>
  以上是提交的表單,下面是處理表單的檔案formjump.asp:
<%response.buff=true%>
<html>
<head>
<title>Redirect樣本</title>
</head>
<body>
<%
thisurl="http://www.webjx.com/"
where=Request.form("wheretogo")
Select Case where
  case "fun"
     response.redirect thisurl & "/fun/default.asp"
  case "news"
     response.redirect thisurl & "/news/default.asp"
  case "sample"
     response.redirect thisurl & "/sample/default.asp"
End Select
%>
</body>
<html>
  這個例子當使用者選擇了以後,按"Jump"按鈕提交表單,伺服器接到申請後調用formjump.asp判斷後定位到相應的URL。不過這裡有一點要注意,HTTP標題已經寫入到客戶瀏覽器,任何HTTP標題的修改必須在寫入頁內容之前,遇到這種問題時,可以如下做:
在檔案的開始<@ Language=..>後寫:   
   Response.Buffer=True
在結尾定:
   Response.Flush
  這裡Flush是Response的一個方法,它必須是Buffer屬性設定為True時才能使用,否則會產生一個運行模式錯誤。另外一個Clear方法也是用於清除被緩衝的頁面,同樣要Buffer屬性設定為True時才能使用。

  5、End方法

  該方法用於告知Active Server當遇到該方法時停止處理ASP檔案。如果Response對象的Buffer屬性設定為True,這時End方法即把緩衝中的內容發送到客戶並清除沖區。所以要取消所有向客戶的輸出民,可以先清除緩衝區,然後利用End方法。如:
<%
Response.buffer=true
On error resume next
Err.clear
if Err.number<>0 then
  Response.Clear
  Response.End
end if
%>



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。