ASP.NET中的cookie寫法:
protected void Button1_Click(object sender, EventArgs e)//寫cookie
{
HttpCookie cookie = new HttpCookie("name");//兩個名稱不一樣;1:實例化一個cookie對象(相當於鍵值對name是鍵cookie是值)
cookie.Value = "marry"; //2:給cookie值
cookie.Expires = DateTime.Now.AddDays(1); //3:cookie的過期時間(在當前時間上加任意多少任意單位的過期時間);如果不設置過期時間cookie不會寫到硬盤上,只存在於內存中,當關閉浏覽器時這塊內存就回收cookie就沒了;(臨時cookie)
Response.Cookies.Add(cookie);//4:真正執行將對象放到集合中
}
protected void Button2_Click(object sender, EventArgs e)//讀cookie
{
if (Request.Cookies["name"] != null)//讀取
{
TextBox1.Text = Request.Cookies["name"].Value;//Cookies["name"]表示上面定義的cookie裡是鍵值對.value才是值
}
else
{
TextBox1.Text="沒有呦!";
}
}
js中cookie的寫法:
function writecookie() {
var today = new Date();
today.setDate(today.getDate() + 1);
document.cookie = 'name=我的歌聲裡;expires=' + today.toGMTString();//設置cookie值和cookie的過期時間放在document裡
document.cookie = 'username=曲婉婷;expires=' + today.toGMTString();
document.cookie = 'password=123;expires=' + today.toGMTString();
}
function read()//讀cookie中的值
{
//讀多個
var cookie = document.cookie;
var arry = cookie.split(';');
alert(arry);
for (var i in arry) //與c#中的有所不同
{
var a = arry[i].split('=');
// if (a[0] == " username")//一個cookie文件中如果有多個cookie用這種方法讀時,第一個名稱前沒有空格,以後的名稱前都有空格都要加空格;用trim去空格
// {
// alert(a[1]);
// }
if (a[0].trim(' ')=="username")//一個cookie文件中如果有多個cookie用這種方法讀時,第一個名稱前沒有空格,以後的名稱前都有空格都要加空格;用trim去空格(??????有問題啊?怎麼說不支持trim呢火狐就行ie不行可能配置問題什麼問題呢?)
{
alert(a[1]);
}