ASP.NET Cookie的存储与读取

来源:互联网 发布:上海银行 淘宝金卡 编辑:程序博客网 时间:2024/05/22 15:36

http://blog.csdn.net/chinajiyong/article/details/7569881

             一般ASP.NET中Cookie的存储有两种方法,一种是直接为Cookie集合设置Cookie属性。第二种是创建HttpCookie对象的一个实例并将该实例添加到Cookie集合中,当然读取就很简单了。

(一)、Cookie的存储

(1)、通过Response对象的Cookie集合存储。语法格式:

[csharp] view plaincopy
  1. Response.Cookies["Cookie的名称"].Value=变量值;  

例如:

[csharp] view plaincopy
  1. Response.Cookies["UserName"].Value=“Chinajiyong“;  


(2)、通过HttpCookie对象的实例存储。语法格式:

[csharp] view plaincopy
  1. HttpCookie cookie=new HttpCookie("Cookie名称","值");  
  2. Response.Cookies.Add(cookie);  

或者

[csharp] view plaincopy
  1. HttpCookie cookie=new HttpCookie("Cookie名称");  
  2. cookie.Value="值";  
  3. Response.Cookies.Add(cookie);  

例如:

[csharp] view plaincopy
  1. HttpCookie cookie=new HttpCookie("UserName","Chinajiyong");  
  2. Response.Cookies.Add(cookie);  

或者

[csharp] view plaincopy
  1. HttpCookie cookie=new HttpCookie("UserName");  
  2. cookie.Value="Chinajiyong";  
  3. Response.Cookies.Add(cookie);  

除了上述方法存储Cookie之外,还可以进行多值Cookie的存储,

方法一:   

[csharp] view plaincopy
  1. Response.Cookies["LoginInfo"]["UserName"].Value=“Chinajiyong“;  
  2. Response.Cookies["LoginInfo"]["Password"].Value=“12345“;  

方法二:        

[csharp] view plaincopy
  1. HttpCookie cookie=new HttpCookie("LoginInfo");  
  2. cookie.Values["UserName"]="Chinajiyong";  
  3. cookie.Values["Password"]="12345";  
  4. Response.Cookies.Add(cookie);  

(2)、读取Cookie方法
[csharp] view plaincopy
  1. if(Request.Cookies["UserName"]!=null)  
  2. {  
  3.   string username=Request.Cookies("UserName").Value;  
  4. }  

对于多值的Cookie的读取

[csharp] view plaincopy
  1. if(Request.Cookies["LoginInfo"]!=null)  
  2. {  
  3.   string username=Request.Cookies["LoginInfo"]["UserName"];  
  4.   string password=Request.Cookies["LoginInfo"]["Password"];  
  5. }  

总之,在获取Cookie值之前,应该确保该Cookie确实存在,否则将得到一个异常。
0 0
原创粉丝点击