/// <summary>
/// 保存Cookies的数据对象
/// </summary>
[System.Serializable]
public class MyCookieInfo : CookieInfo
{
private int m_Pkid = 0;
public int Pkid
{
get
{
return m_Pkid ;
}
set
{
m_Pkid = value ;
}
}
private string m_TestValue = "";
public string TestValue
{
get
{
return m_TestValue;
}
set
{
m_TestValue = value;
}
}
private DateTime m_TestDateTime = DateTime.Now;
public DateTime TestDateTime
{
get
{
return m_TestDateTime;
}
set
{
m_TestDateTime = value;
}
}
}
接下来就可以使用对象的Save和Load方法保存和读取Cookies:
复制代码 代码如下:
•保存
Save方法有两个重载,不带参数的Save方法表示Cookies的过期时间与浏览器相同,即浏览器关闭则Cookies消失。否则需要传入Cookies过期时间。
MyCookieInfo testCookies = new MyCookieInfo();
testCookies.Pkid = 1;
testCookies.TestValue = "中文测试";
testCookies.Save(); •读取
MyCookieInfo testCookies = new MyCookieInfo();
testCookies.Load();
this.lblMsg.Text = "Pkid:" + testCookies.Pkid.ToString();
this.lblMsg.Text += ",TestValue:" + testCookies.TestValue.ToString();
this.lblMsg.Text += ",TestDateTime:" + testCookies.TestDateTime.ToString("yyyy/MM/dd HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo);
现在我们已经可以将一个强类型的对象读取和保存Cookies了。
(3)使用Javascript操作Cookies
在客户端我们同样需要操作Cookies。
下面是封装了的专门用于操作Cookies的jQuery工具函数。
当然此工具函数稍加修改,就可以变成标准的Javascript函数。
工具函数说明:
方法签名: jQuery.cookie(name, subName, value, options)
方法说明:读取、写入、删除Cookies
方法参数:
名称 说明 举例name cookies的主键值 读取主键:
$.cookie("singleKey")
写入cookies,值为字符串:
$.cookie("singleKey", "", "singleKey-value", { expires: 1, path: "https://www.jb51.net/", secure: false })
subName 子键名称。在写入时请传递空或者null 读取子键:
$.cookie("multiKey", "subName1")
写入cookies,值为对象:
var subNameObj = { subName1: "aaa", subName2: "bbb", subName3: "ccc" };$.cookie("multiKey", "", subNameObj, { expires: 1, path: "https://www.jb51.net/", secure: false });
value Cookies值,可以是字符串或者对象。
如果是对象,则将对象的每个属性保存在Cookies子键。 参见上面实例。
options 参数:
expires:可以是数字或者Data类型的对象。
如果传入数字表示几天后过期。
path:路径,默认为域名根目录(“/”)。
secure:是否启用加密,默认为否。
指定过期时间:
var myDate = new Date();myDate.setFullYear(2009, 10, 10);$.cookie("singleKey", "", "singleKey-value", { expires: myDate, secure: false })1天后过期:
var time = Date();$.cookie("singleKey", "", "singleKey-value", { expires: 1, path: "https://www.jb51.net/", secure: false })