某些购物网站长用的方法,保存用户浏览过的物品,网上大都是用js写,或vb,用c#写的很少,这里列举一个方法。
当页面初始化时需要判断是否存在
protected
void
Page_Load(
object
sender, EventArgs e)
... {
if (Request.Cookies["username"] == null)
...{
HttpCookie myCookie = new HttpCookie("username");
myCookie.Values.Add("prodid", "");
myCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(myCookie);
}
}
... {
if (Request.Cookies["username"] == null)
...{
HttpCookie myCookie = new HttpCookie("username");
myCookie.Values.Add("prodid", "");
myCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(myCookie);
}
}
这是插入cookie的代码
public
void
addcookie(
string
cookievalue)
... {
HttpCookie cookie = new HttpCookie("username");
if (Request.Cookies["username"].Values["prodid"] != "")
...{
string myvalue = "";
myvalue = Request.Cookies["username"].Values["prodid"].ToString();
myvalue = cookievalue + "," + myvalue;
cookie.Values.Add("prodid", myvalue);
cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cookie);
}
else
...{
cookie.Values.Add("prodid", cookievalue);
cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cookie);
}
}
... {
HttpCookie cookie = new HttpCookie("username");
if (Request.Cookies["username"].Values["prodid"] != "")
...{
string myvalue = "";
myvalue = Request.Cookies["username"].Values["prodid"].ToString();
myvalue = cookievalue + "," + myvalue;
cookie.Values.Add("prodid", myvalue);
cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cookie);
}
else
...{
cookie.Values.Add("prodid", cookievalue);
cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cookie);
}
}
读取cookie代码,只读取最后三条记录
public
void
playcookie()
... {
int num = 0;
string myvalue = "";
myvalue = Request.Cookies["username"].Values["prodid"].ToString();
string resultvalue=string.Empty;
if (myvalue != "")
...{
Char[] spitchar = new Char[] ...{ Convert.ToChar(",") };
string[] cookievalue;
cookievalue = myvalue.Split(spitchar);
if (cookievalue.Length <= 3)
...{
num = cookievalue.Length;
}
else
...{
num = 3;
}
for (int i = 0; i < num; i++)
...{
resultvalue += cookievalue[i].ToString();
}
Label1.Text = resultvalue;
}
}
... {
int num = 0;
string myvalue = "";
myvalue = Request.Cookies["username"].Values["prodid"].ToString();
string resultvalue=string.Empty;
if (myvalue != "")
...{
Char[] spitchar = new Char[] ...{ Convert.ToChar(",") };
string[] cookievalue;
cookievalue = myvalue.Split(spitchar);
if (cookievalue.Length <= 3)
...{
num = cookievalue.Length;
}
else
...{
num = 3;
}
for (int i = 0; i < num; i++)
...{
resultvalue += cookievalue[i].ToString();
}
Label1.Text = resultvalue;
}
}
最后是删除cookie的方法
protected
void
Button2_Click(
object
sender, EventArgs e)
... {
HttpCookie myCookie = new HttpCookie("username");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
... {
HttpCookie myCookie = new HttpCookie("username");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
本文完,代码不多,也许测试用例未做过多测试,就当抛砖引玉,本文有科雅客原创,未经许可切勿转载