ASP Cookies操作的詳細(xì)介紹與實(shí)例代碼
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
Request和Response對(duì)象都有一組Cookie。Request.cookie集合是一系列Cookie,從客戶(hù)端與HTTP Request一起發(fā)送到Web服務(wù)器。反過(guò)來(lái),如果你希望把Cookie發(fā)送到客戶(hù)機(jī),就可以使用Response.cookie。 Cookie是一種發(fā)送到客戶(hù)瀏覽器的文本串句柄,并保存在客戶(hù)機(jī)硬盤(pán)上,可以用來(lái)在某個(gè)Web站點(diǎn)會(huì)話(huà)之間持久地保持?jǐn)?shù)據(jù)。Request和Response對(duì)象都有一組Cookie。Request.cookie集合是一系列Cookie,從客戶(hù)端與HTTP Request一起發(fā)送到Web服務(wù)器。反過(guò)來(lái),如果你希望把Cookie發(fā)送到客戶(hù)機(jī),就可以使用Response.cookie 1、ExpiresAbsolute屬性 該屬性可以賦一個(gè)日期,過(guò)了這個(gè)日期Cookie就不能再被使用了。通過(guò)給Expires屬性賦一個(gè)過(guò)期的日期,就可以刪除Cookie。如: <%Response.cookies("passtime").expiresAbsolute="1/1/99"%> 2、Domain屬性 該屬性定義Cookie要傳送的唯一域。如:Cookie只傳送給Microsoft的人,則可以使用以下代碼。 <%Response.Cookies("domain").Domain="> 3、ASP用來(lái)寫(xiě)入Cookie即向客戶(hù)機(jī)發(fā)送Cookie的語(yǔ)法如下: Response.Cookie("Cookie名").[("鍵名").屬性]=內(nèi)容 如果某個(gè)ASP文件要?jiǎng)?chuàng)建一個(gè)Cookie,則下面的代碼可以放在ASP文件的第一個(gè)<html>之前,以避免產(chǎn)生錯(cuò)誤. <%Response.Cookies("CookieName")="NewCookie" %> <html> ...... </html> 4、同樣ASP用Request對(duì)象的Cookies集合來(lái)讀取Cookie,如: <%Response.write Request.Cookies("CookieName")%> 下面以一個(gè)完整的例子來(lái)說(shuō)明Cookie: 復(fù)制代碼 代碼如下: <% dim Num Num=Request.Cookies("Visit_num") if Num>0 then Num=Num+1 Response.write "您已是第" & Num & "次訪問(wèn)本站點(diǎn)了。" else Response.write "歡迎您首次訪問(wèn)本站。" Num=1 end if Response.Cookies("Visit_num")=Num %> 在該例子中,首先讀取Cookies變量Visit_num,看用戶(hù)端計(jì)算機(jī)是否保存有Cookies變量。如果有該變量,則說(shuō)明用戶(hù)已經(jīng)訪問(wèn)過(guò)該頁(yè)面,同時(shí)輸入出訪問(wèn)次數(shù)。如果用戶(hù)是首次訪問(wèn)該頁(yè)面,則其計(jì)算機(jī)內(nèi)不會(huì)有Cookies變量,程序會(huì)顯示“歡迎”字樣,然后將Cookies變量Visit_num存到用戶(hù)計(jì)算機(jī)中,以便該用戶(hù)下一次訪問(wèn)該頁(yè)面時(shí)給出“訪問(wèn)的次數(shù)”信息。 5、Cookie字典 有時(shí)在一個(gè)頁(yè)面中可能需要定義很多個(gè)Cookies變量,為了更好地管理它,在Cookies組件中常引入一人的概念“子鍵”。引用它的語(yǔ)法如下: Request.Cookies("變更名")("子鍵名") 如下面的Cookie創(chuàng)建一個(gè)名為"Dictionary"的字典,其中保存了三個(gè)鍵值: 復(fù)制代碼 代碼如下: <% Response.Cookie("info")("Myname")="jeff" Response.Cookie("info")("Gender")="male" Response.Cookie("info")("Myheight")="172" %> 事實(shí)上客戶(hù)機(jī)上的Cookie字典是以字符串的形式存在: info=Myname=jeff&Gender=male&Myheight=172 如果用戶(hù)沒(méi)有指定“子鍵”名而直接引用Cookies變量,將會(huì)返回一個(gè)包含所有的“子鍵”名及值的字符串。例如上面這個(gè)例子包含三個(gè)“子鍵”:"Myname"、"Gender"和"Myheight",當(dāng)用戶(hù)沒(méi)有指定其“子鍵”而直接通過(guò)Request.Cookies("info")來(lái)引用時(shí),則會(huì)得到下列字符串: info=Myname=jeff&Gender=male&Myheight=172 如果要把Cookie中讀取的所有數(shù)據(jù),可以用下面的代碼得到: 復(fù)制代碼 代碼如下: <%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 %> 下面是具體的在頁(yè)面中記錄查詢(xún)的記錄的代碼 復(fù)制代碼 代碼如下: Sub SetCookie Dim C_DomainList,C_i C_DomainList=Request.Cookies("jb51")("C_DomainList") If Domain<>"" and C_DomainList<>"" then If not instr(C_DomainList,Domain&"|")>0 then C_DomainList=Domain&"|"&C_DomainList End if If Domain<>"" and C_DomainList="" then C_DomainList=Domain&"|" End if If C_DomainList<>"" then Response.write "<div id=C_domainlist>您關(guān)注的站點(diǎn):" C_arrDomain = split(C_DomainList,"|") C_DomainList="" numDomain=ubound(C_arrDomain)-1 If numDomain>4 then numDomain=4 for C_i=0 to numDomain Response.write " <a href=?url="&C_arrDomain(C_i)&">"&C_arrDomain(C_i)&"</a> |" C_DomainList=C_DomainList&C_arrDomain(C_i)&"|" next Response.Cookies("jb51")("C_DomainList")=C_DomainList Response.Cookies("jb51").Expires=Date+30 Response.write "<a href=#cursor:pointer"" onClick=""clearCookie('jb51');alert('已清除記錄!');"">清除記錄</a></div>" End If End Sub 該文章在 2010/11/26 8:54:22 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |