Cookies的各方面知识(基础/高级)深度了解(4)


/// <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 })
 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjdggz.html