ASP下Cookie操作的詳細講解

來源:互聯網
上載者:User

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
%>

相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.