if (HttpContext.Current.Request.Cookies["MyInfo"] == null)
{
DateTime date = DateTime.Now.AddDays(7);
cookie = new HttpCookie("MyInfo");
cookie.Path = "/";
cookie.Values["TrainNumber"] = "234";
cookie.Values["Depot"] = "";
cookie.Values["Search"] = "";
cookie.Expires = date;
HttpContext.Current.Response.Cookies.Add(cookie);
}
我先设置了一个Cookie...这样对吗?可以存储到本吗? 在我再以次打开IE的时候想去修改KEY的值
Httpcookie cookie= new HttpCookie("MyInfo");
cookie.Values["TrainNumber"] = cookie.Values["TrainNumber"] + "," + str;
HttpContext.Current.Response.Cookies.Add(cookie);
然后在再读新的Cookie 改怎么办啊
{
DateTime date = DateTime.Now.AddDays(7);
cookie = new HttpCookie("MyInfo");
cookie.Path = "/";
cookie.Values["TrainNumber"] = "234";
cookie.Values["Depot"] = "";
cookie.Values["Search"] = "";
cookie.Expires = date;
HttpContext.Current.Response.Cookies.Add(cookie);
}
我先设置了一个Cookie...这样对吗?可以存储到本吗? 在我再以次打开IE的时候想去修改KEY的值
Httpcookie cookie= new HttpCookie("MyInfo");
cookie.Values["TrainNumber"] = cookie.Values["TrainNumber"] + "," + str;
HttpContext.Current.Response.Cookies.Add(cookie);
然后在再读新的Cookie 改怎么办啊
解决方案 »
- 如何查找数据库中的 连续字段 有多少条
- 生成静态页面
- 谁有asp.net2.0+sqlserver2000做的 oa办公系统功能齐全
- 关于url重写的问题
- 100分求救,打开网页总要输入要服务器用户名和密码,怎样解决
- ASP.Net服务器端的代码中可以访问ActiveX 的方法吗?
- 这个报表用水晶报表可以实现吗?如何实现?越详细越好,分不够我另加。
- 用Javascript替换链接
- 我用asp.net 想把数据存入数据库中?请帮忙..
- 请看 code 为什么在html中可以,在.net 中不行呢?
- “reqFTP.ContentType”引发了“System.NotSupportedException”类型的异常
- 在asp.net网站的服务端,如何运行socket服务端?
HttpContext.Current.Response.Cookies["vip"].Value = "值"
HttpContext.Current.Response.Cookies["vip"].Expires = DateTime.Now.AddHours(-1);
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1);
HttpCookie aCookie = new HttpCookie("lastVisit");
aCookie.Value = DateTime.Now.ToString();
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie);
Cookie有多个值:Response.Cookies["userInfo"]["userName"] = "patrick";
Response.Cookies["userInfo"]["lastVisit"] = DateTime.Now.ToString();
Response.Cookies["userInfo"].Expires = DateTime.Now.AddDays(1);
HttpCookie aCookie = new HttpCookie("userInfo");
aCookie.Values["userName"] = "patrick";
aCookie.Values["lastVisit"] = DateTime.Now.ToString();
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie);
参考一下
#region 写Cookies
private void WriteCookie(string writeValue,string cookiesName)
{
if(Request.Cookies[cookiesName] != null)
{
Response.Cookies[cookiesName].Value = writeValue;
Response.Cookies[cookiesName].Expires = System.DateTime.Now.AddYears(1);
}
else
{
HttpCookie cultureCookie = new HttpCookie(cookiesName);
cultureCookie.Value = writeValue;
//cultureCookie.Expires = System.DateTime.Now.AddDays(1);
Response.AppendCookie(cultureCookie);
}
}
#endregion #region 读Cookies
private string ReadCookie(string cookiesName)
{
string retValue=string.Empty;
if(Request.Cookies[cookiesName] != null)
{
retValue = Request.Cookies[cookiesName].Value;
return retValue;
}
return retValue;
}
#endregion
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1) ; \\过期时间,在Cookies文件中无法查看,也不能调用. 网管u家www.bitscn.net 2、创建Cookie对象的一个实例: 中国网管论坛bbs.bitsCN.com HttpCookie cookie=new HttpCookie("userName");
cookie.Value = "Tom";
cookie.Expires = DateTime.Now.AddDays(1) ;
Response.Cookies.Add(aCookie) 网管论坛bbs_bitsCN_com 用以上任一方法都可以生成一个有“userName”项的文件, 在你的Internet临时文件夹中你可以查看它。 网管u家bitscn.net 也可以创建和添加有子键的Cookies,如: 网管有家bitscn.net Response.Cookies["userInfo"]["userName"] = "Tom"; 网管网www.bitscn.com 或: 网管bitscn_com HttpCookie cookie=new HttpCookie("userInfo");
cookie.Values["userName"] = "Tom";
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie) 网管联盟bitsCN_com 二、检索Cookies: 中国网管联盟bitsCN.com
Cookies某一键的值为: 网管有家www.bitscn.net Server.HtmlEncode(Request.Cookies["userInfo"]["userName"]) 网管有家bitscn.net 你可以用Response.Write()方法输出它到页面,如: 网管u家u.bitsCN.com
Response.Write(Server.HtmlEncode(Request.Cookies["userInfo"]["userName"])); 中国网管论坛bbs.bitsCN.com 或赋值给其它变量: 网管u家u.bitsCN.com
string strCookie1=Server.HtmlEncode(Request.Cookies["userInfo"]["userName"]); 网管联盟bitsCN_com 用Cookies[i]数组可以检索所有项和子键,如: 网管联盟bitsCN@com string[] cooName = new string[Request.Cookies.Count];
string[] cooValue = new string[Request.Cookies.Count];
HttpCookie aCookie;
for(int i=0;i<Request.Cookies.Count;i++){
aCookie = Request.Cookies[i];
cooName[i] = Server.HtmlEncode(aCookie.Name);
if(!aCookie.HasKeys){
cooValue[i] = Server.HtmlEncode(aCookie.Value);
}else{
string[] subcooName = new string[aCookie.Values.Count];
string[] subcooValue = new string[aCookie.Values.Count];
for(int j=0;j<aCookie.Values.Count;j++){
subcooName[j] = Server.HtmlEncode(aCookie.Values.AllKeys[j]);
subcooValue[j] = Server.HtmlEncode(aCookie.Values[j]); 网管有家www.bitscn.net
}
}
} 网管朋友网www_bitscn_net 三、修改Cookies 网管联盟bitsCN@com 如果是数值类型的Cookie值,比如访问次数,你可以读取该值进行加减操作后再存回,一般的修改直接存入新值就可以了,系统自动用新值覆盖原值,存入的方法与创建相同。 中国网管联盟bitsCN.com 四、删除Cookies 网管有家bitscn.net 删除Cookies只要把有效期设为失效就可以了,如在创建时设有效期为一天:
cookie.Expires = DateTime.Now.AddDays(1) ; 网管网www_bitscn_com
要删除则设为: 网管u家u.bitsCN.com cookie.Expires = DateTime.Now.AddDays(-1) ; 网管有家bitscn.net
删除子键:
HttpCookie cookie;
cookie = Request.Cookies["userInfo"];
aCookie.Values.Remove("userName");
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie); 网管网www.bitscn.com【转自www.bitsCN.com】
-------------------------------
你又重新构造一个实例做什么?
你从多个cookies中取特定值时,可以从cookiecontainers提取对应特定名值对.
Server.UrlDecode(a);
我来发个js的
< script language="Java script " type="text/Java script ">
function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
{
var Days = 30; //此 cookie 将被保存 30 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)//取cookies函数
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;}
function delCookie(name)//删除cookie
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}SetCookie ("xiaoqi", "3")
alert(getCookie('xiaoqi'));
</ script >
准确地说,asp.net并没有内置对象这一说,jsp里确实把request、response这些当作jsp的内置对象,这里只不过是借用了一下jsp的说法而已。上面提到的很多都是在做asp.net开发时无需new就能使用的对象(类似的还有很多,在asp.net中所有的网页都是继承自System.Web.UI.Page这个类,上面的提到多是Page类的属性)。本文介绍System.Web.UI.Page类的几个常用属性,如Request、Response、Server、Session、Cookie、Application,并讲述了及表达式用法。
Cookie保存数据有以下特点:
Cookie中的数据保存在客户端;
Cookie中只能保存字符串类型的数据,如果需要在Cookie中保存其它类型数据,需要将其转换成字符串类型后保存;
Cookie也有其默认生命周期,也可以手动设置,最大可设置成50年之后过期。
同Session的情况一样,有可能在一个网站中使用到的Cookie不止一个,我们仍通过Cookie的名称来区分不同的Cookie。
设置Cookie的过程就是在服务器的响应对象Response的Cookie集合中增加一个Cookie的实际,Response对象会把这个Cookie集合中的所有Cookie都发送客户端。代码如下(仍以保存用户名为例):HttpCookie cookie = new HttpCookie("UserName", "zhoufoxcn");
Response.Cookies.Add(cookie); 获取Cookie就是从客户端的请求对象中找到对应名称的Cookie,当然也有可能出现Cookie不存在的情况,所以在获取之前也需要检查指定名称的Cookie是否存在,大妈如下:string userName;
if (Request.Cookies["UserName"] != null)
{
userName = Request.Cookies["UserName"].Value;
}细心的朋友可能会留意到前面讲到Session和Cookie的时候,我都说他们是针对特定用户保存的数据,也就是那些数据并不是每个人都能用到。Session和Cookie一般用来一些针对特定用户的信息,比如用于保存用户名等,因为是针对特定用户的,所以不会针对张三设置用户名保存在Session或者Cookie中之后再去或者这个值的时候得到的是李四的用户名。但是在某些情况下,我们又希望保存一些共有信息,这样大家都能设置或者获取,比如自从服务器启动以来某个页面被打开的次数,这时用Session或者Cookie就不合适了。这就需要用Application了。
可以是一个字符串又可以是一个键值对集合(values)里面可以有多个键值对; protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
WriteCookie();
Response.Write(ReadCookie());
}
}
private void WriteCookie()
{
HttpCookie myCookie = new HttpCookie("cookieName", "cookieValueFirst");
myCookie.Value = "cookieValueSecond";//这里只难设置一个值,后面的将覆盖前面的赋值
myCookie.Values["second"] = "shengzhen";
myCookie.Values["first"] = "nanchange";
Response.Cookies.Add(myCookie);
}
private string ReadCookie()
{
HttpCookie readCookie = Request.Cookies["cookieName"];//Request.Cookies.Get("cookieName");
if (readCookie == null)
{
return "can't get cookie";
}
else
{
return "name:"+Server .HtmlDecode(readCookie.Name)+" value:"+ Server.HtmlDecode(readCookie.Value) +" values: "+Server .HtmlDecode(readCookie.Values.ToString ());
}
}
}自己调试下看结果就好了