Asp.net内置对象—Cookies对象

Cookies对象的使用实例—登陆页面且保存用户信息

 

运行效果图:

 

需要default.aspx和test.aspx两个页面

1.default.aspx.cs下的代码;   protected void Page_Load(object sender, EventArgs e)     

    {             if(Request.Cookies["UserInfo"]==null)           

              {

                this.TextBox1.Text = Request.Cookies["UserInfo"]["Uname"].ToString();   

              this.TextBox2.Text = Request.Cookies["UserInfo"]["psw"].ToString();

                }//先判断cookies值是否为空,读取cookies里的值然后赋值给textbox

   }

        protected void Button1_Click(object sender, EventArgs e)  

       {

           if (this.CheckBox1.Checked == true)   

          {             

    Response.Cookies["UserInfo"]["Uname"] = this.TextBox1.Text;//把textbox的值赋值给cookies             

   Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(1);//设置cookies一天的生命期限

        }                 

        else         

    {

          Response.Cookies["UserInfo"]["psw"] = this.TextBox2.Text;   

          Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(1);  

    }

   Response.Redirect("test.aspx");

}

2.test.aspx下的代码:

   protected void Page_Load(object sender, EventArgs e)    

     {            

         if (Request.Cookies["UserInfo"] != null)     

        {    this.Label1.Text = "欢迎" + Request.Cookies["UserInfo"]["uname"].ToString();     }    

    }

总结:

 1.与Application不同,每个网站只能读取与自己对应的Cookie,每次只能允许访问一个,如果最初设置的cookie值在浏览器中更新后,则cookie值会自动更改。

 2.大多数浏览器支持最多4KB的cookie,并且只允许每个站点最多保存20个cookie。

 3.cookie的创建需要指定三个值:cookie名称,保存的值,和该cookie的有效期。 语法:Response.Cookie["名称"]["关键字"].[属性]=字符串;eg:Response.Cookie["UserInfo"]["Uname"].value="olive";(有时可以把["UserInfo"]省掉) Response.Cookie[Uname].Expires=DateTime.Now.AddDays(1);设置了cookie一天的生命期限  4. 读取cookie; Request.Cookie["名称"]["关键字"].[属性];

posted @ 2012-03-13 10:35  zhangmengjie  Views(169)  Comments(0)    收藏  举报