前一阵做的程序,用户进入后写入Cookie,再次进入后读取Cookie,然后判断该用户是否曾经访问过。
可最近出现了问题。刚才检查时发现Cookie的有效期不对。读取后的结果是“0001-1-1 0:00:00”又新建立了一个页面,先写入Cookie,再读取,结果还是“0001-1-1 0:00:00”,这是为什么。
===================
HttpCookie iCo = new HttpCookie("TestCookie");
iCo.Value = DateTime.Now.ToString();
iCo.Expires = DateTime.Now.AddHours(1);
Response.Cookies.Add(iCo); string output = "";
HttpCookie aCookie;
for(int i = 0 ;i < Request.Cookies.Count - 1; i ++)
{
aCookie = Request.Cookies[i];
output += "Cookie名称 = " + Server.HtmlEncode(aCookie.Name) + "<br>";
output += "Cookie值 = " + Server.HtmlEncode(aCookie.Value) + "<br>";
output += "Cookie有效期 = " + Server.HtmlEncode(aCookie.Expires.ToString()) + "<br><br>";
}
this.Label1.Text = output;
=================
这是新页面的代码*****************
Cookie名称 = ASP.NET_SessionId
Cookie值 = gqj5yuznnwzm0zviafvq3z25
Cookie有效期 = 0001-1-1 0:00:00Cookie名称 = TestCookie
Cookie值 = 2007-1-8 16:30:19
Cookie有效期 = 0001-1-1 0:00:00
*****************
这是读取后的结果
可最近出现了问题。刚才检查时发现Cookie的有效期不对。读取后的结果是“0001-1-1 0:00:00”又新建立了一个页面,先写入Cookie,再读取,结果还是“0001-1-1 0:00:00”,这是为什么。
===================
HttpCookie iCo = new HttpCookie("TestCookie");
iCo.Value = DateTime.Now.ToString();
iCo.Expires = DateTime.Now.AddHours(1);
Response.Cookies.Add(iCo); string output = "";
HttpCookie aCookie;
for(int i = 0 ;i < Request.Cookies.Count - 1; i ++)
{
aCookie = Request.Cookies[i];
output += "Cookie名称 = " + Server.HtmlEncode(aCookie.Name) + "<br>";
output += "Cookie值 = " + Server.HtmlEncode(aCookie.Value) + "<br>";
output += "Cookie有效期 = " + Server.HtmlEncode(aCookie.Expires.ToString()) + "<br><br>";
}
this.Label1.Text = output;
=================
这是新页面的代码*****************
Cookie名称 = ASP.NET_SessionId
Cookie值 = gqj5yuznnwzm0zviafvq3z25
Cookie有效期 = 0001-1-1 0:00:00Cookie名称 = TestCookie
Cookie值 = 2007-1-8 16:30:19
Cookie有效期 = 0001-1-1 0:00:00
*****************
这是读取后的结果
解决方案 »
- 如何让Button的高度自适应
- 如何给TreeView的添加一个图片列?
- 使用gridview绑定数据的两个问题?
- javascript 获取控件位置问题
- 哪位大哥能给个ajax loading的代码或者例子 感激不尽啊
- 点击datagrid的选择列后,页面会刷新,如何能让新页面中的datagrid定位到我之前点击的那一行,拜托了!
- ASP.NET(VB)向Access数据库中插入数据错误...
- 身份验证的问题,望指点
- 出错提示。。。。。。帮帮小弟吧,我不是行了,版主救命!!!!!!!!!!!!
- 发布到服务器后弹框乱码
- 怎么在DATAGRID表头中加 <THEAD></THEAD>标签(求datagrid重写方法)
- 允许事务插入数据后,再读取数据,但不允许其他事务在本事务完成前插入数据,用什么锁
HttpCookie 的Expires属性只能设定,
但不能读取。
如果你是在当次的页面里设定完cookie,HttpCookie的实例里的Expires是可以正确读出来的。下次你从客户那里读,是读不出来的。
呵呵,因为cookie的内容里不会存储cookie的过期时间可以这样,你把cookie的过期时间也作为一个子键值存储进去
cookie.Values.Add("CookieExpire", DateTime.Now.AddHours(1).ToString());