學習參考書ASP入門與實作(第二版)

回首頁 與我們連絡 網站地圖 加入我的最愛



 




請記住:ASP與一般的HTML是截然不同的!ASP是在遠端伺服器上執行的程式,程式執行的結果再下載給瀏覽器,然後瀏覽器再把結果顯示在瀏覽器視窗,簡單的說:撰寫ASP網頁就是撰寫ASP程式!瀏覽器只是負責顯示ASP程式執行的結果,瀏覽器並沒有辦法執行ASP程式!

Response 物件:網頁資料輸出物件
Response 物件是回應資料給瀏覽器,包括網頁伺服器所要回應給使用者的各項資訊,Response 物件的各種方法或屬性如下表所示:

方法或屬性 說明
write 方法 輸出資料至瀏覽器
redirect 方法 轉向至其他網頁
end 方法 結束資料輸出
buffer 屬性 緩衝區的設定
clear 方法 清除緩衝區的資料
flush 方法 強制輸出緩衝區資料
isClientConnetcted 屬性 瀏覽器是否還在連線中

Response.write 方法
負責將字串資訊輸出至使用者端,也可與HTML標示混合使用。標準的HTML標籤資料可直接書寫於ASP程式中,這些單純的HTML標籤資料在ASP程式執行後即會原原本本的直接傳送給瀏覽者的瀏覽器進行解譯的動作,但是,如果是變動性的資料,如日期、時間等,就必須使用 Response 物件的 『write 』方法來編寫,如下例:

  

如果我喜歡將不會變動的網頁資料也利用Response 物件的 『write 』方法來編寫,可不可以呢?當然也可以!但是,這樣就變成編寫一支完整的ASP程式了,所以所有的敘述都必須放在 『<% 』 『%> 』之中,同時,所有的HTML標籤都必須寫在雙引號 『 " 』之中:

註:可簡便的使用<%=顯示內容%>來替代<%response.write "顯示內容"%>  

Response.Redirect 方法
 此方法可轉向其他網頁或網址,這個方法也就所謂的:
『自動鏈結』,而此方法只可用在尚未有任何資料輸出至瀏 覽器之前才可呼叫。尚未有任何資料輸出至瀏 覽器之前才可呼叫?這是什麼意思?就是在程式開端符號『<% 』之前都不能有任何資料啦!如下例:

上例中:

  1. 載入主網頁後,自動轉接鍊結至與主網頁同一目錄中的ch01.htm網頁。
  2. 載入主網頁後,自動轉接鍊結至主網頁上一層目錄中的ch01.asp網頁。
  3. 載入主網頁後,自動轉接鍊結至與另一網址中的網頁。
Response.End 方法 
結束資料輸出,使PWS/IIS不再解譯後續的HTML標示及ASP程式。 一般來說 End 方法都是配合判斷敘述來使用(例如 IF - Else),例如:我們的網站在下午六點鐘至午夜12點鐘不開放,則我們就可如下例來撰寫:

在此例中我們先讀取系統時間『Time』來比較是否超過下午六點鐘,如果超過就輸出顯示『明天請早!』,同時不再解譯後續的HTML標記及ASP程式;如果系統時間尚未超過下午六點鐘,則繼續解譯後續的HTML標記,建立一個抬頭為『本網正常開放』及內容顯示『歡迎光臨』的網頁。


Response.Buffer 屬性 
將Response.Buffer屬性設定為true,使PWS/IIS要輸出的資料先寫到緩衝區,等到下列三種情況出現時,才會將緩衝區資料下載至瀏覽器 。 

  1. PWS/IIS解譯完ASP檔案時。 
  2. 程式呼叫了Response.end方法。
  3. 程式呼叫了Response.flush方法。 

注意:buffer屬性之設定,必須在沒有任何資料輸出 至瀏覽器前設定,否則會出現『已將HTTP標題寫入用戶端瀏覽器。對 任何HTTP的標題所做的修改必須要在寫入頁內容之前』的錯誤,如下例:


Response.Clear 方法:
為清除緩衝區的資料 Response.Flush 方法:為強制將緩衝資料輸出,但程式會繼續執行 如下例:

執行結果:
下載至瀏覽器的資料有: <html> <body> 強制送出緩衝區的資料</body> </html>
寫至緩衝區又被清除的資料有: 清除緩衝區的資料

 

ASP 教學文件
WEB與ASP
ASP網頁概論
ASP內建元件與物件



 

本網頁內容由昱得資訊工作室楊宗誌(小誌 )製作(C) Copyright Valor-Studio since in 1993
非經正式書面同意,不得將全部或部分內容,以任何方式轉載於其他網站或用於任何商業行為