程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> ASP下Cookie操作的詳細講解

ASP下Cookie操作的詳細講解

編輯:關於ASP編程
Cookie是一種發送到客戶浏覽器的文本串句柄,並保存在客戶機硬盤上,可以用來在某個Web站點會話之間持久地保持數據。Request和Response對象都有一組Cookie。Request.cookie集合是一系列Cookie,從客戶端與HTTP Request一起發送到Web服務器。反過來,如果你希望把Cookie發送到客戶機,就可以使用Response.cookie 

1、ExpiresAbsolute屬性 

該屬性可以賦一個日期,過了這個日期Cookie就不能再被使用了。通過給Expires屬性賦一個過期的日期,就可以刪除Cookie。如: 

<%Response.cookies("passtime").expiresAbsolute="1/1/99"%> 
2、Domain屬性 

該屬性定義Cookie要傳送的唯一域。如:Cookie只傳送給Microsoft的人,則可以使用以下代碼。 

<%Response.Cookies("domain").Domain="www.microsoft.com"%> 
3、ASP用來寫入Cookie即向客戶機發送Cookie的語法如下: 

Response.Cookie("Cookie名").[("鍵名").屬性]=內容 
如果某個ASP文件要創建一個Cookie,則下面的代碼可以放在ASP文件的第一個<html>之前,以避免產生錯誤. 

<%Response.Cookies("CookieName")="NewCookie" %> 

<html> 

...... 

</html> 
4、同樣ASP用Request對象的Cookies集合來讀取Cookie,如: 

<%Response.write Request.Cookies("CookieName")%> 
下面以一個完整的例子來說明Cookie: 

<% 
dim Num 
Num=Request.Cookies("Visit_num") 
if Num>0 then 
Num=Num+1 
Response.write "您已是第" & Num & "次訪問本站點了。" 
else 
Response.write "歡迎您首次訪問本站。" 
Num=1 
end if 
Response.Cookies("Visit_num")=Num 
%> 
       在該例子中,首先讀取Cookies變量Visit_num,看用戶端計算機是否保存有Cookies變量。如果有該變量,則說明用戶已經訪問過該頁面,同時輸入出訪問次數。如果用戶是首次訪問該頁面,則其計算機內不會有Cookies變量,程序會顯示“歡迎”字樣,然後將Cookies變量Visit_num存到用戶計算機中,以便該用戶下一次訪問該頁面時給出“訪問的次數”信息。 

5、Cookie字典 

有時在一個頁面中可能需要定義很多個Cookies變量,為了更好地管理它,在Cookies組件中常引入一人的概念“子鍵”。引用它的語法如下: 

Request.Cookies("變更名")("子鍵名") 
如下面的Cookie創建一個名為"Dictionary"的字典,其中保存了三個鍵值: 

<% 
Response.Cookie("info")("Myname")="jeff" 
Response.Cookie("info")("Gender")="male" 
Response.Cookie("info")("Myheight")="172" 
%> 
事實上客戶機上的Cookie字典是以字符串的形式存在: 

info=Myname=jeff&Gender=male&Myheight=172 

如果用戶沒有指定“子鍵”名而直接引用Cookies變量,將會返回一個包含所有的“子鍵”名及值的字符串。例如上面這個例子包含三個“子鍵”:"Myname"、"Gender"和"Myheight",當用戶沒有指定其“子鍵”而直接通過Request.Cookies("info")來引用時,則會得到下列字符串: 

info=Myname=jeff&Gender=male&Myheight=172 

如果要把Cookie中讀取的所有數據,可以用下面的代碼得到: 

<%For each cookie in Request.Cookies 
if Not cookie.HasKeys then 
Response.write cookie & "=" & Request.Cookies(cookie) 
Else 
for each key in Request.Cookies(cookie) 
Response.write cookie&"("&key&")"&"="& Request.Cookies(cookie)(key) 
next 
end if 
next 
%> 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved