Cookie chỉ là một cái file text nhỏ chứa nội dung có cấu trúc theo định dạng của cookie (ví dụ name=value..). Tùy thuộc vào mỗi trình duyệt thì nó sẽ lưu trữ cookie ở các nơi khác nhau. Đó là lý do bạn lưu cookie trên trình duyệt này thì trình duyệt kia vẫn không thấy cookie đó. Cần phân biệt giữa Session và Cookie. Có nhiều bạn lầm lẫn giữa 2 cái đó. Session thì được lưu trữ trên Server chứ không phải ở Client.
Tạo mới hoặc lưu cookie vào cookie đã có như sau:
[ C# ]
Response.Cookies["CookieName"].Value = "CookieValue";
// Cookies are temporally files, so you need to set how long cookie will be present on client hard disk before it is deleted
Response.Cookies["CookieName"].Expires = DateTime.Now.AddDays(100);
[ VB.NET ]
Response.Cookies("CookieName").Value = "CookieValue"
' Cookies are temporally files, so you need to set how long cookie will be present on client hard disk before it is deleted
Response.Cookies("CookieName").Expires = Now.AddDays(100)
Đọc cookie như sau:
[ C# ]
// check if cookie exists
if(Request.Cookies["CookieName"] != null)
CookieValue = Request.Cookies["CookieName"].Value;
[ VB.NET ]
' Check if cookie exists
If Not Request.Cookies("CookieName") Is Nothing Then
CookieValue = Request.Cookies("CookieName").Value
End If
Toàn bộ code C#
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["remember"] != null)
{
HttpCookie cookie = Request.Cookies.Get("UserNameAndPassword");
txtname.Text = cookie.Values["UserName"].ToString();
txtpassword.Text = cookie.Values["Password"].ToString();
}
}
protected void WriteCookie()
{
if (ckbcookie.Checked == true)
{
HttpCookie cookie = new HttpCookie("remember", "yes");
Response.Cookies.Add(cookie);
cookie = new HttpCookie("UserNameAndPassword");
cookie.Values.Add("UserName", txtname.Text.Trim());
cookie.Values.Add("Password", txtpassword.Text.Trim());
Response.Cookies.Add(cookie);
}
}
Tại hàm Login(Đăng nhập) gọi hàm WriteCookie() là okie
Một vài thành phần đáng quan tâm:
// sử lý dự kiện click nút đăng nhập protected void bt_login_click(Object Src, EventArgs E) { if(tb_username.Text != ""){ // khai báo biến cookie HttpCookie cookie_username = new HttpCookie("username",tb_username.Text); // Gán thời gian sống của Cookie là 30 ngày cookie_username.Expires = DateTime.Now.AddDays(30); // Thêm Cookie Response.Cookies.Add(cookie_username); // làm tươi Response.Redirect("cookie.aspx"); } } // sử lý dự kiện click nút Xóa Cookie protected void bt_delete_click(Object Src, EventArgs E) { // khai báo biến cookie HttpCookie cookie_username = new HttpCookie("username",""); // Gán thời gian sống của Cookie là thời gian hiện tại cookie_username.Expires = DateTime.Now; // Thêm Cookie Response.Cookies.Add(cookie_username); // làm tươi Response.Redirect("cookie.aspx"); }
0 comments:
Post a Comment