2011-02-07 6 views
1

C#を使用してクッキー内のLISTを追加/削除/置換する方法。上記のコードでC#を使用してクッキー内のLISTを追加/削除/置換する方法

//Declaring the List for image list 

List<string> imageList = new List<string>(); 
foreach (FeaturedPromo promo in base.FeaturedPromos) 
{ 
    imageList.Add(promo.ImageHref); 
} 

、私はその後、私はクッキーからその項目を削除しても交換することができ、今、私はC#を使用してクッキーにこれらの値を追加したい、その中のすべての画像HREF値とのリストを持っていますクッキー内の同じアイテムの他の値との値。

お勧めします!

答えて

5

クッキーは削除されず、上書きまたは期限切れになります(期限切れになることがあります)。

クッキーに追加するには、クッキー名の値のコレクションを作成し、各アイテムをリストからコレクションに追加します。

System.Collections.Specialized.NameValueCollection cookiecoll = new System.Collections.Specialized.NameValueCollection(); 
for(int i = 0 ; i < imageList.Length; i++) 
{ 
    cookiecoll.Add("item_" + i,imageList[i]); 
} 

HttpCookie cookielist = new HttpCookie("MyListOfCookies"); 
cookielist.Values.Add(cookiecoll); 
Response.Cookies.Add(cookielist); 

例をクッキー削除するには、 "item_2"

Response.Cookies["MyListofCookies"].Values["item_3"] = "new value"; 

例を編集するには:削除する

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

例をクッキーに項目のリストを追加する

例リストからの単一項目(何もせずに上書き)

Response.Cookies["MyListOfCookies"].Values["item_3"] = String.Empty; 


注:Cookieにはあまりデータを追加できません。多くのブラウザには、保存できるCookieのサイズと数の上限があります。

+0

@Thanksシェカールを使用することができますが、私はさらにそれから、私は追加する方法を見ることが可能ないくつかのサンプルコードやリンクを持っているクッキーでリストを削除することができ、私はええクッキー –

+0

の値を変更することができます –

+0

@MKS私は私の答えを更新しました...あなたはまだ値を上書きする必要があります。項目の単一の値を削除するにはString.Emptyに項目を編集します。 –

0

あなたは

// Add cookie 
HttpContext.Current.Response.Cookies.Add(new HttpCookie("MyCookieBizkit", imageList)); 

// Remove cookie 
HttpContext.Current.Response.Cookies.Remove("MyCookieBizkit"); 

// Edit 
HttpContext.Current.Response.Cookies["MyCookieBizkit"] = imageList; 

// Get 
imageList = HttpContext.Current.Request.Cookies["MyCookieBizkit"] != null ? (List<string>)HttpContext.Current.Request.Cookies["MyCookieBizkit"] : new List<string>(); 
+0

LISTの中の特定の値を変更するには、ユーザーNameValueCollectionが必要ですか? –

+0

Cookieから元のオブジェクトにキャストしてから通常に戻ります。すべてのCookieはNameValueCollectionオブジェクトに格納されます。 –

+0

@Thanks、上記のコードを使用していくつかのサンプルコードを用意することはできますか?その場合は私にとって実際には新しい –

関連する問題