Asp:Response对象
一、Response對象的常用屬性
1、? Buffer屬性
?????? 其值為布爾型,即只有True和False兩種情況,表明輸出的Asp頁是否被緩沖, 使用Buffer屬性后,只有當前頁的所有服務器腳本處理完畢或者調了 Flush 或 End 方法后,服務器才將響應發送給瀏覽器,在服務器將部分響應發送給瀏覽器后就不能再設置 Buffer 屬性,因此通常在 .asp 文件的第一行調用 Response.Buffer。
設置Buffer屬性方法如下:
<%Response.Buffer=True %>
?
2、? ContentType屬性
?????? ContentType 屬性指定服務器響應的 HTTP 內容類型。如果未指定 ContentType,默認為 text/HTML。即在服務器響應的 HTTP中顯示content-type:text/html。如果要用到特殊的ContentType屬性,應按照以下示例中的方式調用:
<%Response.ContentType="text/css" %>
?
3、? Charset屬性
??? Charset屬性用于設置字符集的名稱并將其添加到內容類型標題(content-type)的后面,若未在Asp頁中設置Charset屬性,則content-type為content-type:text/html,若將Charset屬性設置為"gb2312"則content-type為content-type:text/html; charset=gb2312。
設置Charset屬性的方法如下:
<% Response.Charset="gb2312" %>
小技巧:
??? 無論設置的字符集是否有效,該設置都會將設置的字符集寫到內容類型標題(content-type)后面,所以在使用該屬性時要保證設置字符集的有效性。
??? 如果頁面包含多個Charset設置,則以最后一次被執行的Charset設置為準。
??? 常用的字符集還有ASCII Latin1 gb2312 big5 gbk gb18030 Unicode等,如果要做國際化網站建議使用Unicode。
?
4、? Expires屬性
?????? Expires屬性用于指定在瀏覽器緩存頁面距超時還有多少時間,若用戶在指定時間內回到此頁,服務器會將緩存的頁面返回給用戶,設置的數字的單位是分。
設置Expires屬性的方法如下:
<% Response.Expires=3 %>
上例表示本頁三分鐘后超時。
小技巧:
?????? 設置Response.Expires=0則使緩存頁瀏覽后立即超時,這樣做可以確保頁面信息的安全。
5、? ExpiresAbsolute屬性
??? ExpiresAbsolute屬性與Expires屬性類似,只是其值應設置為一個具體時間。
下例表示緩存頁到2006年10月30日 20:22:00過期:
<% Response.ExpiresAbsolute=#Oct 30,2006 20:22:00# %>
6、? IsClientConnected屬性
????????????? 該屬性為只讀屬性,用于判斷上次向瀏覽器輸出響應后,瀏覽器是否仍和服務器連?????? 接。
7、? CacheControl屬性
?????? CacheControl屬性用于決定代理服務器是否能緩存ASP生成的輸出,默認值為False。如果將其設置為True將會大大降低網站的安全性。
8、? Pics屬性
?????? ?????? 將PICS標記的值添加到響應的標題的PICS標記字段中,指定某一網頁的內容級????????? 別,如:暴力、色情、兒童不宜等。
該屬性的使用方法:
<%Response.Pics("相關字符串")%>
9、? Status屬性
??????? Status屬性服務器返回的狀態行的值。
該屬性的使用方法:
<%Response.Status="狀態描述字符串"%>
二、Response對象的常用方法
1、Write方法
?????? ?????? 將變量作為字符串寫入當前的HTTP輸出
幾種使用方法:
??????? <%Response.Write"輸出內容"%>
或:
??????? <%Response.Write("輸出內容")%>
如果要輸出變量則用如下方法:
??????? <%
??????? Dim s
??????? s="輸出內容"
??????? Response.Write(s)
??????? %>
小技巧:
在直接輸出到瀏覽器時通常可用
<%= s %>
來代替
<% Response.Write (s) %>
?
小技巧:
如要輸出一個”,可以將”用兩個雙引號代替,例如:
<% Response.Write (””””) %>
在瀏覽器上輸出的內容就是”了
小技巧:
對于HTML與服務器變量的交替輸出,請不要將HTML代碼與輸出語句混寫,例如:
<% For i=1 to 10 %>
<a href=”#”><% =i %></a>
<% Next %>
此類情況最好寫成:
<% For i=1 to 10
Response.Write ”<a href=””#””>” & i & ”</a>”
Next %>
因為在前一種寫法中服務器端解析器不斷在HTML與VBScript中跳轉將會很大程度上影響執行速度。
?
小技巧:
對于輸出大量連接而成的字符串,通常使用以下方法:
<%
For i=1 to 10
a=a & i
Next
Response.Write (a)
%>
但如果面對很大的數量,如
<%
For i=1 to 50000
a=a & i
Next
Response.Write (a)
%>
的情況下,執行會極其之慢(大概12秒)。
這是因為VBScript在申請字符串變量的內存是要浪費大量時間。
但可以通過以下代碼提高效率,使執行時間接近300毫秒。
<%
a=Spc(50000)
For i=1 to 50000
a=mid( a , i , 1)
Next
Response.Write (a)
%>
2、Redirect方法
????????????? 將頁面轉向一個URL:
使用方法:
<%
Response.ReDirect (”http://www.eice.com.cn”)
%>
則頁面將跳轉到http://www.eice.com.cn
小技巧:
網頁的重定向也可以用Server對象的Transfer方法。
但Server. Transfer與Response.ReDirect 有所不同。
Response.ReDirect可以轉向任意網頁、而Server. Transfer只能轉向本虛擬目錄下的網頁。
Response.ReDirect不可以傳遞網頁參數、而Server. Transfer卻可以傳遞參數。
Response.ReDirect跳轉后瀏覽器中顯示的URL也隨之改變、而Server. Transfer卻仍顯示原來的URL。
3、End方法
??? End 方法使 Web 服務器停止處理腳本并返回當前結果。文件中剩余的內容將不被處理。如果 Response.Buffer 已設置為 TRUE,則調用 Response.End 將緩沖輸出。
例如:
<%
Response.Write"1"
Response.End()
Response.Write"2"
%>
則瀏覽器中輸出的結果為1
End方法執行后即按本頁執行完畢處理。
?
小技巧:
在網頁中有錯誤,但還不能確定錯誤所在位置時。
可以添加一個Response.End并通過移動其位置,起到調試程序的目的。
?????? 4、Flush方法
??? Flush 方法立即發送緩沖區中的輸出。如果沒有將 Response.Buffer 設置為 TRUE,則該方法將導致運行時錯誤。
??? 5、Clear 方法
??? 可以用 Clear 方法清除緩沖區中的所有 HTML 輸出。但 Clear 方法只清除響應正??? 文而不清除響應標題。可以用該方法處理錯誤情況。但是如果沒有將 Response.Buffer ? 設置為 TRUE,則該方法將導致運行時錯誤。
??? 6、BinrayWrite方法
將信息寫入到當前HTTP輸出中,并且不進行任何字符集轉換。通常用于輸出圖片文件。
7、AppendToLog方法
????????????? 在請求的Web服務器日志條目后添加字符串。
8、AddHeader方法
????????????? 從名稱到值設置HTML標題。
二、Response對象的常用集合
?????? Response對象的集合只有一個,就是cookies,Cookies 集合用于設置 cookie 的值。若指定的 cookie 不存在,則創建它。若存在,則設置新的值并且將過去存儲的值刪去。
語法
Response.Cookies(cookie)[(key)|.attribute]=value
這里的 cookie 是指定 cookie 的名稱。而如果指定了 key,則該 cookie 就是一個字典。attribute 指定 cookie 自身的有關信息。attribute 參數可以是下列之一 :
1、Domain
??? 只寫屬性,該值若被指定,則 cookie 將被發送到對該域的請求中去。
2、Expires
??? 只寫屬性,該值指定 cookie 的過期日期。為了在會話結束后將 cookie 存儲在客戶端磁盤上,必須設置該日期。若此項屬性的設置未超過當前日期,則在任務結束后 cookie 將到期。
3、HasKeys
??? 該值指定 cookie 是否包含關鍵字。
4、Path
??? 該值若被指定,則 cookie 將只發送到對該路徑的請求中。如果未設置該屬性,則使用應用程序的路徑。
5、Secure
?????? 用于設定Cookies是否在一個安全的渠道傳遞。當一個安全渠道沒有在HTTP首頁被發現,Cookies信息將不被發送。
?
下面給出一個cookie的使用示例:
<%
Request.Cookies("Eice")("UserName")="admin" ''設置名為Eice的cookie的UserName字段的值
Request.Cookies("Eice")("PassWord")="admin" ''設置名為Eice的cookie的PassWord字段的值
Request.Write(Request.Cookies("Eice")("UserName"))''取出名為Eice的cookie的UserName字段的值
Request.Write(Request.Cookies("Eice")(" PassWord "))''取出名為Eice的cookie的UserName字段的值
%>
轉載于:https://www.cnblogs.com/away_yue/archive/2009/06/22/1508339.html
總結
以上是生活随笔為你收集整理的Asp:Response对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果x面容坏了影响大吗
- 下一篇: 瞧瞧 Fog Creek 软件公司办公环