5 回答
TA贡献1828条经验 获得超6个赞
首先,不明确你查找cookie的方式是否正确,浏览器是否支持cookie,一般都采用编程方式,比如写入cookie并试图将其取出.
其次,每一个cookie都附带一个被称为"过期时间"的参数,浏览器在检查此参数时,会自动判断是否已过期并执行清理.
以下是C#代码:
Response.Cookies["username"].Value = "第一个cookie";
Response.Cookies["username"].Expires = DateTime.Now.AddDays(1);
if (Request.Cookies["cookie"] != null)
Response.Write("浏览器支持cookie!");
Response.Cookies["username"].Expires = DateTime.Now.AddDays(-1);//将这个Cookie过期掉.
else
Response.Write("浏览器不支持cookie!");
TA贡献1796条经验 获得超4个赞
Request.Cookies.Clear()这个方法并不是删除Cookie
删除 Cookie(即从用户的硬盘中物理移除 Cookie)是修改 Cookie 的一种形式。
由于 Cookie 在用户的计算机中,因此无法将其直接移除。
但是,可以让浏览器来为您删除 Cookie。
该技术是创建一个与要删除的 Cookie 同名的新 Cookie,
并将该 Cookie 的到期日期设置为早于当前日期的某个日期。
当浏览器检查 Cookie 的到期日期时,浏览器便会丢弃这个现已过期的 Cookie。
下面的代码示例演示删除应用程序中所有可用 Cookie 的一种方法:
HttpCookie aCookie;
string cookieName;
int limit = Request.Cookies.Count;
for (int i = 0; i < limit; i++)
{
cookieName = Request.Cookies[i].Name;
aCookie = new HttpCookie(cookieName);
aCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
}
TA贡献1842条经验 获得超12个赞
int id = 1;
HttpCookie cookie = new HttpCookie("ID");
DateTime dt = DateTime.Now;
TimeSpan ts = new TimeSpan(1, 0, 0);
cookie.Expires.Add(ts);
cookie.Values.Add("ID", id.ToString());//注意values.Add和Value=的区别
Response.AppendCookie(cookie);
Response.Write(Request.Cookies["ID"].Values["ID"]); //Request.Cookies["ID"]:获取Cookies;.value则是获取了Cookies的所有内容,.Values["ID"]获取名称的ID的项的值
TA贡献1830条经验 获得超9个赞
c#中cookies的读取写入操作如下:
/////////////////////////////读取///////////////////////////////
//获得此cookie对象
HttpCookie cookie = Request.Cookies["demo"];
//检验Cookie是否已经存在
if (null == cookie) {
Response.Write("Cookie not found. <br><hr>");
}
else {
//显示Cookie的值
String strCookieValue = cookie.Value.ToString();
Response.Write("The " + strCookieName + " cookie contains: <b>"
+ strCookieValue + "</b><br><hr>");
}
/////////////////////////////写入///////////////////////////////
//创建一个新Cookie
HttpCookie cookie = new HttpCookie("demo");
//设定Cookie的值
cookie.Value = "value";
//设定cookie生命为1周,也就是7天
cookie.Expires = DateTime.Now.AddDays(7);
//添加Cookie
Response.Cookies.Add(cookie);
补充:利用cookie给密码框赋值,如果是服务器端控件 TextBox,则使用这样的方式
this.txtpwd.Attributes.Add("value", cookie.Values[Comman.Cookie_Pwd]);
TA贡献1804条经验 获得超2个赞
if( Request.Cookies["PostTime"] == null)
Request.Cookies["PostTime"].Value
这首先是Request.Cookies["PostTime"]的一个属性,对吧?既然没有这个对象,那么还求属性,自然是未将对象引用设置到对象的实例,因为Request.Cookies["PostTime"]==null。
- 5 回答
- 0 关注
- 407 浏览
添加回答
举报