當前位置:網站首頁>ASP.NET對Cookie的操作方法有哪些

ASP.NET對Cookie的操作方法有哪些

2022-05-13 16:59:18億速雲

ASP.NET對Cookie的操作方法有哪些

這篇文章主要介紹“ASP.NET對Cookie的操作方法有哪些”,在日常操作中,相信很多人在ASP.NET對Cookie的操作方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”ASP.NET對Cookie的操作方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

概述

Cookie用來保存客戶瀏覽器請求服務器頁面的請求信息。

我們可以存放非敏感的用戶信息,保存時間可以根據需要設置。如果沒有設置Cookie失效日期,它的生命周期保存到關閉瀏覽器為止,Cookie對象的Expires屬性設置為MinValue錶示永不過期。

Cookie存儲的數據量受限制,大多數的瀏覽器為4K因此不要存放大數據。

由於並非所有的瀏覽器都支持Cookie,數據將以明文的形式保存在客戶端。

一、創建Cookie:發送到客戶端瀏覽器

Domain和Path相同的所有Cookie在客戶端存在於一個文件中。

//通用設置Response.Cookies["userName"].Value = "Park";Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1);//不設Expires默認關閉瀏覽器就過期Response.Cookies["userName"].Domain = "park.aa.com";//Domain默認為域名部分,以錶示aa.com下的所有子域名。Response.Cookies["userName"].Path = "App1";//Path默認為根目錄"/",錶示根目錄下的所有頁面和子目錄//單值CookieHttpCookie Cookie = new HttpCookie("userName");cookie.Value = "Park";cookie.Expires = DateTime.Now.AddDays(1);Response.Cookies.Add(cookie);//多值CookieHttpCookie cookies = new HttpCookie("userName");cookies["name"] = "Park";cookies["sex"] = "1";cookies.Expires = DateTime.Now.AddMinutes(20);Response.Cookies.Add(cookies);//Response.SetCookies(cookies)//Response.AppendCookis(cookies);

二、讀取Cookie:

Domain、Path和Expires是無法讀取的

if (Request.Cookies["userName"] != null){    //讀取多值Cookie    Response.Write(Request.Cookies["userName"].Value) //可以Server.HtmlEncode()編碼   //讀取多值Cookie    Response.Write("Cookie中鍵值為userid的值:" + Request.Cookies["userName"]["sex"]);}

三、修改Cookie

不能直接修改一個Cookie,是創建一個同名的Cookie,並把該Cookie發送到瀏覽器覆蓋客戶機上的舊Cookie。

HttpCookie cok = Request.Cookies["userName"];//獲取客戶端的Cookie對象if (cok != null){    cok.Values["userid"] = "alter-value";//修改Cookie            cok.Values.Set("newid", "newValue");//往Cookie裏加入新的內容    Response.AppendCookie(cok);    //或者    Response.Cookies["userName"].Value = "aa";} Response.Cookies["Porschev"].Expires = DateTime.Now.AddMinutes(-1);

四、删除Cookie:

無法直接删除一個Cookie,可通過修改它的Expires為過去的某個時間,瀏覽器會删除已經過期的Cookie。

Response.Cookies["userName"].Expires = DateTime.Now.AddDays(-1);//或者HttpCookie cok = Request.Cookies["userName"];if (cok != null){    if (!CheckBox1.Checked)    {        cok.Values.Remove("userid");//移除鍵值為userid的值    }    else    {        TimeSpan ts = new TimeSpan(0, 0, 0, 0);        cok.Expires = DateTime.Now.Add(ts);//删除整個Cookie,只要把過期時間設置為現在    }    Response.AppendCookie(cok);}

到此,關於“ASP.NET對Cookie的操作方法有哪些”的學習就結束了,希望能够解决大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速雲網站,小編會繼續努力為大家帶來更多實用的文章!

版權聲明
本文為[億速雲]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/133/202205131652309856.html

隨機推薦