各位好,我想实现这样的一个功能,就是想记录用户浏览商品的记录。我想把用户浏览商品的ID 写到Cookies 里去,如是我做了个这样的测试。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.Cookies["history"] == null)
{
HttpCookie hc = new HttpCookie("history");
hc.Expires = DateTime.Now.AddDays(7);
NameValueCollection nv = new NameValueCollection();
nv.Add(DateTime.Now.ToString(), DBNull.Value.ToString());
hc.Values.Add(nv);
Response.Cookies.Add(hc); }
else
{
HttpCookie cc = Request.Cookies["history"];
NameValueCollection nv2 = cc.Values;
nv2.Add(DateTime.Now.ToString(), DBNull.Value.ToString());
cc.Values.Add(nv2);
Response.Cookies.Add(cc);
}
HttpCookie htk = Request.Cookies["history"]; for (int i = 0; i < htk.Values.AllKeys.Length; i++)
{
Response.Write(htk.Values.Keys[i].ToString() + "<br>");
} }
}
为什么得不到多个KEY(时间)呢?只能得到当前的时间。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.Cookies["history"] == null)
{
HttpCookie hc = new HttpCookie("history");
hc.Expires = DateTime.Now.AddDays(7);
NameValueCollection nv = new NameValueCollection();
nv.Add(DateTime.Now.ToString(), DBNull.Value.ToString());
hc.Values.Add(nv);
Response.Cookies.Add(hc); }
else
{
HttpCookie cc = Request.Cookies["history"];
NameValueCollection nv2 = cc.Values;
nv2.Add(DateTime.Now.ToString(), DBNull.Value.ToString());
cc.Values.Add(nv2);
Response.Cookies.Add(cc);
}
HttpCookie htk = Request.Cookies["history"]; for (int i = 0; i < htk.Values.AllKeys.Length; i++)
{
Response.Write(htk.Values.Keys[i].ToString() + "<br>");
} }
}
为什么得不到多个KEY(时间)呢?只能得到当前的时间。
解决方案 »
- 请问有用过MyXls导出Excel的朋友吗?
- asp.net中SmartGridView的问题 在线等 急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急
- 生成图片的同时要显示图片(在同一个页中)
- web.config中sql server数据库连接字
- 超简单问题,解决马上给分
- ==========奇怪的问题,浏览器新开一个,程序才能运行一次。==================
- System.InvalidOperationException
- 请教高手!急!在线等!
- 一直没解决的问题,关于datagrid那个更新数据功能!!
- 在DATAGIRD或DATALIST中如何使用Validator控件来判断编辑状态下的数据是否合法?
- 各位高手帮忙看看我的网站怎么会变成这样???
- addwithvalue的问题
如Response.Cookies["userInfo"]["userName"] = "T";
//-----------------------------载入
if(!IsPostBack)
{ HttpCookie cookie = Request.Cookies["userinfo1"];
cookie.Expires = System.DateTime.Now.AddMinutes(20);//设置过期时间
for (int i = 0; i < 5; i++)
{
cookie.Values["BB" + i.ToString()] = i.ToString();
Response.Cookies.Add(cookie);
}
}//**************写入
HttpCookie cookie = new HttpCookie("userinfo1");
cookie.Expires = System.DateTime.Now.AddMinutes(20);//设置过期时间
for (int i = 0; i < 10; i++)
{
cookie.Values["U" +i.ToString()] = i.ToString();
Response.Cookies.Add(cookie);
}
//**************---------------读取
//读取 Cookie 集合
for (int i = 0; i < Request.Cookies.Count; i++)
{
if (Request.Cookies.AllKeys[i] == "userinfo1")
{ HttpCookie cookies = Request.Cookies["userInfo1"];
Response.Write("name=" + cookies.Name + "<br/>");
//Response.Write("name=" + cookies.Value + "<br/>"); if (cookies.HasKeys)//是否有子键
{
System.Collections.Specialized.NameValueCollection NameColl = cookies.Values;
for (int j = 0; j < NameColl.Count; j++)
{
Response.Write("子键名=" + NameColl.AllKeys[j] + "<br/>");
Response.Write("子键值=" + NameColl[j] + "<br/>");
} }
else
{
Response.Write("value=" + cookies.Value + "<br/>");
}
}
}
//***********************删除
HttpCookie acookie = Request.Cookies["userinfo1"];
acookie.Expires = System.DateTime.Now.AddMinutes(20);//设置过期时间
if (acookie.HasKeys)//是否有子键
{
System.Collections.Specialized.NameValueCollection NameColl = acookie.Values;
for (int j = 0 ; j < NameColl.Count; j++)
{
if (NameColl.AllKeys[j] == "U8")
{
acookie.Values.Remove(NameColl.AllKeys[j]);
Response.Cookies.Add(acookie);
}
}
}
//***************************追加
HttpCookie cookie = Request.Cookies["userinfo1"];
cookie.Expires = System.DateTime.Now.AddMinutes(20);//设置过期时间
for (int i = 0; i < 5; i++)
{
cookie.Values["K" + i.ToString()] = i.ToString();
Response.Cookies.Add(cookie);
}
//-----------------------------载入
if(!IsPostBack)
{ HttpCookie cookie = Request.Cookies["userinfo1"];
cookie.Expires = System.DateTime.Now.AddMinutes(20);//设置过期时间
for (int i = 0; i < 5; i++)
{
cookie.Values["BB" + i.ToString()] = i.ToString();
Response.Cookies.Add(cookie);
}
}//**************写入
HttpCookie cookie = new HttpCookie("userinfo1");
cookie.Expires = System.DateTime.Now.AddMinutes(20);//设置过期时间
for (int i = 0; i < 10; i++)
{
cookie.Values["U" +i.ToString()] = i.ToString();
Response.Cookies.Add(cookie);
}
//**************---------------读取
//读取 Cookie 集合
for (int i = 0; i < Request.Cookies.Count; i++)
{
if (Request.Cookies.AllKeys[i] == "userinfo1")
{ HttpCookie cookies = Request.Cookies["userInfo1"];
Response.Write("name=" + cookies.Name + "<br/>");
//Response.Write("name=" + cookies.Value + "<br/>"); if (cookies.HasKeys)//是否有子键
{
System.Collections.Specialized.NameValueCollection NameColl = cookies.Values;
for (int j = 0; j < NameColl.Count; j++)
{
Response.Write("子键名=" + NameColl.AllKeys[j] + "<br/>");
Response.Write("子键值=" + NameColl[j] + "<br/>");
} }
else
{
Response.Write("value=" + cookies.Value + "<br/>");
}
}
}
//***********************删除
HttpCookie acookie = Request.Cookies["userinfo1"];
acookie.Expires = System.DateTime.Now.AddMinutes(20);//设置过期时间
if (acookie.HasKeys)//是否有子键
{
System.Collections.Specialized.NameValueCollection NameColl = acookie.Values;
for (int j = 0 ; j < NameColl.Count; j++)
{
if (NameColl.AllKeys[j] == "U8")
{
acookie.Values.Remove(NameColl.AllKeys[j]);
Response.Cookies.Add(acookie);
}
}
}
//***************************追加
HttpCookie cookie = Request.Cookies["userinfo1"];
cookie.Expires = System.DateTime.Now.AddMinutes(20);//设置过期时间
for (int i = 0; i < 5; i++)
{
cookie.Values["K" + i.ToString()] = i.ToString();
Response.Cookies.Add(cookie);
}
else
{
HttpCookie cc = Request.Cookies["history"];
NameValueCollection nv2 = cc.Values;
nv2.Add(DateTime.Now.ToString(), DBNull.Value.ToString());
cc.Values.Add(nv2);
Response.Cookies.Add(cc);
}没有给cc 设置 Expries