今天在使用cookie是過程中,遇到一些問題:
一個是cookie在讀取內容時總是顯示亂碼:一直不明白為什麼會這樣,後來想來想去,就想到用Server.UrlEncode對內容進行編碼、之後在顯示的時候在解碼:
下面是一個自己寫的簡單的cookie例子
完整代碼如下:
protected void Button2_Click(object sender, EventArgs e)
{
String CookieName = "123";
HttpCookie cookie = new HttpCookie(CookieName);
cookie.Value =Server.UrlEncode ("韓貴州");
DateTime dtNow = DateTime.Now;
TimeSpan tsMinute = new TimeSpan(0, 1, 0, 0);
cookie.Expires = dtNow + tsMinute;
Response.Cookies.Add(cookie );
Label1.Text = cookie.Value;
}
protected void Button1_Click(object sender, EventArgs e)
{
HttpCookie GetCookie = Request.Cookies["123"];
if (null == GetCookie)
{
Response.Write("未找到對應的的cookie");
}
else
{
Label1.Text = Server.UrlDecode(GetCookie.Value.ToString());
}
}
此外,還有一點要說明 的就是:判斷cookie內容是否存在的方法是
If(null==cookie名稱)
第三:就是注意cookie的存活時間:
在本例子中。它的存活時間是一個小時。
DateTime dtNow = DateTime.Now;
TimeSpan tsMinute = new TimeSpan(0, 1, 0, 0);
cookie.Expires = dtNow + tsMinute;