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