在页面上拖四个按钮
FourButton
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btnSaveCookie" runat="server" Text="保存Cookie" OnClick="btnSaveCookie_Click" />
<asp:Button ID="btnReadCookie" runat="server" Text="读取Cookie" OnClick="btnReadCookie_Click" />
<asp:Button ID="btnModifyCookie" runat="server" Text="修改Cookie" OnClick="btnModifyCookie_Click" />
<asp:Button ID="btnDelCookie" runat="server" Text="删除Cookie" OnClick="btnDelCookie_Click" /></div>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btnSaveCookie" runat="server" Text="保存Cookie" OnClick="btnSaveCookie_Click" />
<asp:Button ID="btnReadCookie" runat="server" Text="读取Cookie" OnClick="btnReadCookie_Click" />
<asp:Button ID="btnModifyCookie" runat="server" Text="修改Cookie" OnClick="btnModifyCookie_Click" />
<asp:Button ID="btnDelCookie" runat="server" Text="删除Cookie" OnClick="btnDelCookie_Click" /></div>
</form>
</body>
</html>
CodeBehind
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSaveCookie_Click(object sender, EventArgs e)
{
//将Cookie写入到客户端的两种方式
//方式一
HttpCookie cookie = new HttpCookie("test1", "单值Cookie1");//创建一个Cookie
cookie.Expires = DateTime.Now.AddDays(1);//设置Cookie的过期时间
Response.Cookies.Add(cookie);//将Cookie写入到客户端
//方式二
Response.Cookies["test2"].Value = "单值Cookie2";
Response.Cookies["test2"].Expires = DateTime.Now.AddDays(1);
}
protected void btnReadCookie_Click(object sender, EventArgs e)
{
//从客户端读取Cookie
HttpCookie cookie = Request.Cookies["test1"];//获得Cookie
if (cookie!=null)//判断Cookie是否存在
{
//在这里Cookie的过期时间都不能正常显示,这是因为浏览器返回给服务器的Cookie是不包含过期时间的
Response.Write(cookie.Value + "<br>" + cookie.Expires);//输出Cookie的值和过期时间
}
}
protected void btnModifyCookie_Click(object sender, EventArgs e)
{
//修改Cookie
HttpCookie cookie = Request.Cookies["test1"];//获得Cookie
cookie.Value = "修改后的Cookie";//修改Cookie
Response.Cookies.Add(cookie);//将Cookie写入到浏览器
}
protected void btnDelCookie_Click(object sender, EventArgs e)
{
//删除Cookie
HttpCookie cookie = Request.Cookies["test1"];//获得Cookie
cookie.Expires = DateTime.Now.AddDays(-1);//将Cookie的过期时间设置为过去时间,也就是删除Cookie
Response.Cookies.Add(cookie);//将Cookie写入到浏览器
}
}
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSaveCookie_Click(object sender, EventArgs e)
{
//将Cookie写入到客户端的两种方式
//方式一
HttpCookie cookie = new HttpCookie("test1", "单值Cookie1");//创建一个Cookie
cookie.Expires = DateTime.Now.AddDays(1);//设置Cookie的过期时间
Response.Cookies.Add(cookie);//将Cookie写入到客户端
//方式二
Response.Cookies["test2"].Value = "单值Cookie2";
Response.Cookies["test2"].Expires = DateTime.Now.AddDays(1);
}
protected void btnReadCookie_Click(object sender, EventArgs e)
{
//从客户端读取Cookie
HttpCookie cookie = Request.Cookies["test1"];//获得Cookie
if (cookie!=null)//判断Cookie是否存在
{
//在这里Cookie的过期时间都不能正常显示,这是因为浏览器返回给服务器的Cookie是不包含过期时间的
Response.Write(cookie.Value + "<br>" + cookie.Expires);//输出Cookie的值和过期时间
}
}
protected void btnModifyCookie_Click(object sender, EventArgs e)
{
//修改Cookie
HttpCookie cookie = Request.Cookies["test1"];//获得Cookie
cookie.Value = "修改后的Cookie";//修改Cookie
Response.Cookies.Add(cookie);//将Cookie写入到浏览器
}
protected void btnDelCookie_Click(object sender, EventArgs e)
{
//删除Cookie
HttpCookie cookie = Request.Cookies["test1"];//获得Cookie
cookie.Expires = DateTime.Now.AddDays(-1);//将Cookie的过期时间设置为过去时间,也就是删除Cookie
Response.Cookies.Add(cookie);//将Cookie写入到浏览器
}
}
Cookie总结
Cookie虽然是一个简单实用的对象,但是我们也要注意Cookie的工作原理,大小限制以及安全性等,大致可以归纳为以下几点。
存储的物理位置;客户端Cookie文件夹内
存储的类型:字符串。
生命周期:每个Cookie都有自己的过期时间,超过了过期时间后失效。
安全和性能:存储在客户端,安全性差。对于敏感数据建议加密后存储。
可以长久保存用户设置。