C# httpcookie asp.net中cookie的使用

时间:2022-09-03 18:40:04

另见文章:http://blog.csdn.net/goodshot/article/details/8765153    



protected void Page_Load(object sender, EventArgs e)
    {
        string[] keys = Request.Cookies.AllKeys;
        string str0=Request.Cookies["account"].Value;//调试显示stro=”张三&1=NO1&2=NO2“
        string str1 = Request.Cookies["password"].Value;//调试显示str1=”123“
        string str2= Request.Cookies["third"].Value;//调试显示str2="1=third"

 string str01 = Request.Cookies["account"].Values["1"];//str01="NO1"
        string str02 = Request.Cookies["account"]["2"];//str02="NO2"
            }


    protected void btnSubmit_Click(object sender, EventArgs e)
    {

//第一种写入方式  
        HttpCookie accountCookie=new HttpCookie("account", txtAccount.Text);
        accountCookie.Values.Add("NO1", "1");
        accountCookie.Values.Add("NO2", "2");

//调试显示

accountCookie.value=”张三&NO1=1&NO2=2“,

accountCookie.values=”张三&NO1=1&NO2=2“



        accountCookie.Expires = DateTime.Now.Date.AddDays(Convert.ToDouble(rdoSpan.SelectedValue));
        Response.Cookies.Add(accountCookie);

//第二种写入方式         

    HttpCookie passwordCookie = new HttpCookie("password", txtPsw.Text);
        passwordCookie.Expires = DateTime.Now.Date.AddDays(Convert.ToDouble(rdoSpan.SelectedValue));
        Response.AppendCookie(passwordCookie);

//第三种写入方式      

     Response.Cookies["third"].Expires = DateTime.Now.Date.AddDays(Convert.ToDouble(rdoSpan.SelectedValue));
        Response.Cookies["third"]["1"] = "Third";
        int count=Response.Cookies.Count;
    }

Response.Cookies.Add(accountCookie)

和Response.AppendCookie(passwordCookie)

以及Response.Cookies["third"]["1"] = "Third";

是三种将值写入客户端cookie的方式

 

 

今天有空就把操作cookie的写了,虽然很简单,不过免得到时候忘记了,之前就是忘记了还很实验了一番才弄出来,郁闷了。
         下面是写cookie
1 HttpCookie cookie = new HttpCookie("Info");//定义cookie对象以及名为Info的项
2 DateTime dt = DateTime.Now;//定义时间对象
3 TimeSpan ts=new TimeSpan(1,0,0,0);//cookie有效作用时间,具体查msdn
4 cookie.Expires = dt.Add(ts);//添加作用时间
5 cookie.Values.Add("user","cxbkkk");//增加属性
6 cookie.Values.Add("userid","1203");
7 Response.AppendCookie(cookie);//确定写入cookie中         读取cookie
1 if(Request.Cookies["Info"]!=null)
2 {
3      string temp=Convert.ToString(Request.Cookies["Info"].Values["user"]) "   " Convert.ToString(Request.Cookies["Info"].Values["userid"]);
4      //读全部就用Request.Cookies["Info"].Value)
5      if(temp=="")
6      {
7          Response.Write("空");
8      }
9      else
10          Response.Write(temp);
11 }
12 else
13 {
14      Response.Write("error");
15 }        

 

 修改cookie
1 Response.Cookies["Info"]["user"] = "2";
2 Response.Cookies["Info"].Expires = DateTime.Now.AddDays(1);         删除cookie下的属性
1 HttpCookie acookie=Request.Cookies["Info"];
2 acookie.Values.Remove("userid");
3 acookie.Expires = DateTime.Now.AddDays(1);
4 Response.Cookies.Add(acookie);         删除所有cookie,就是设置过期时间为现在就行了
1 int limit=Request.Cookies.Count - 1;
2 for(int i=0;i<limit;i )
3 {
4      acookie = Request.Cookies(i)
5      acookie.Expires = DateTime.Now.AddDays(-1)
6      Response.Cookies.Add(acookie)
7 }        

 

 

 

C#
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">
    protected void Page_Load(object sender, EventArgs e)
     {
         StringBuilder sb = new StringBuilder();
        // Get cookie from the current request.          HttpCookie cookie = Request.Cookies.Get("DateCookieExample");
        
        // Check if cookie exists in the current request.         if (cookie == null)
         {
             sb.Append("Cookie was not received from the client. ");
             sb.Append("Creating cookie to add to the response. <br/>");
            // Create cookie.              cookie = new HttpCookie("DateCookieExample");
            // Set value of cookie to current date time.              cookie.Value = DateTime.Now.ToString();             // Set cookie to expire in 10 minutes.              cookie.Expires = DateTime.Now.AddMinutes(10d);             // Insert the cookie in the current HttpResponse.              Response.Cookies.Add(cookie);          }         else          {              sb.Append("Cookie retrieved from client. <br/>");
             sb.Append("Cookie Name: " cookie.Name "<br/>");
             sb.Append("Cookie Value: " cookie.Value "<br/>");
             sb.Append("Cookie Expiration Date: "
                 cookie.Expires.ToString() "<br/>");
         }
         Label1.Text = sb.ToString();
     }
</script>
<html   >
<head runat="server">
     <title>HttpCookie Example</title>
</head>
<body>
     <form id="form1" runat="server">
     <div>
       <asp:Label id="Label1" runat="server"
></asp:Label>
     </div>
     </form>
</body>
</html>