Cookies、Session 和Application 对象很类似,也是一种集合对象,都是用来在保存数据。但Cookies 和其它对象最大的不同是Cookies 将数据存放于客户端的磁盘上,而Application 以及Session 对象是`将数据存放于Server 端。Application、Section 以及Cookies 对象的差异如下表所示:
Cookies 对象不隶属于Page 对象,所以用法和Application 及Session 对象不同。Cookies 对象分别属于Request 对象和Response 对象,每一个Cookie 变量都是被Cookies 对象所管理,它的正确对象类别名称是HttpCookie Collection。要储存一个Cookie 变量,要透过Response 对象的Cookies 集合;其使用语法如下:
Response.Cookies(Name As String).Value="资料"
而要取回Cookie,则是用Request 对象的Cookies 集合,并将指定的Cookie 传回;其使用语法如下所示:
变数=Request.Cookies(Name As String).Value
Cookies 对象常用的属性如下表所示:
下列范例新增两个Cookie 变数,并利用For...Next 循环分别利用Cookies 集合的Item 属性以及Get 方法将Cookie 变量传回:
<Html>
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object,e As Eventargs)
Dim shtI As Short
Response.Cookies("Cookie1").Value="Microsoft VisualStudio .Net"
Response.Cookies("Cookie2").Value="ASP.Net"
For shtI=0 To Request.Cookies.Count-1
Response.Write("变量名称:" & Request.Cookies.Item(shtI).Name & _
"<br>变量内容:" & Request.Cookies.Get(shtI).Value &
"<br>")
Next
Response.Cookies.Clear()
End Sub
</Script>
</Html>
除了我们所加入的Cookie 变量之外,另外多了一个名为AspSessionId 的Cookie 变量。这个Cookie 变量最主要是被ASP.NET 用来识别每个连结,由ASP.NET 在每个客户端建立连结时自动产生;每一次的连结其AspSessionId 的内容都不同。