2009-07-23 11 views
26

私は非常に大きなウェブサイトを持ち、多くのクッキーを使用しています。約ある。 14種類のクッキーがあります。私は各項目ごとに異なるクッキーを持っています。ユーザーがサイトを閲覧すると、ブラウザに14個のCookieが表示されます。これいらない。クッキーに複数の値を保存する

私のサイトには14のアイテムを持つ単一のクッキーを追加し、編集して削除することができます。私は多くの方法を試みましたが、私はこれを行うことができません。

ランタイムクッキーを入れて、クッキーにユーザー名を保存する必要があります。ユーザーがログインした後、自分の個人サイトのアドレスを保存します。最終的に私は両方のユーザー名と個人のサイトアドレスの両方が必要です。前にユーザー名を保存しておきたいのですが、ユーザーが自分の個人用サイトに行くと、個人用サイト名の実行時間が保存されます。

どのように私はこれを行うことができますか?

答えて

43

マシューはそれに私を打つ、しかし、はい、複数のキー/値を持つ単一のクッキーを読み書きするにはASP.NET Cookies Overview ...

を参照してください、それはこのようなものになります。

HttpCookie cookie = new HttpCookie("mybigcookie"); 
cookie.Values.Add("name", name); 
cookie.Values.Add("address", address); 

//get the values out 
string name = Request.Cookies["mybigcookie"]["name"]; 
string address = Request.Cookies["mybigcookie"]["address"]; 
+0

私はHttpCookie cookie = new HttpCookie( "mybigcookie")のように、同じ時刻に名前と住所を保存しています。 cookie.Values.Add( "name"、name);ユーザーが自分の個人用サイトを使用しているときにcookie.Values.Add( "address"、address);を実行します。出来ますか? –

+1

@Jalpesh:短い答えはいいえ、私の編集を確認してください。 –

+0

javascriptと同等の構文は何ですか? – JNappi

15

ASP.NET Cookies Overviewには、1つのクッキーに複数の名前と値のペア(サブキーと呼ばれる)を実装する方法が記載されています。私はこれがあなたが意味するものだと思います。そのページから

たとえば、C#で:

Response.Cookies["userInfo"]["userName"] = "patrick"; //userInfo is the cookie, userName is the subkey 
Response.Cookies["userInfo"]["lastVisit"] = DateTime.Now.ToString(); //now lastVisit is the subkey 
Response.Cookies["userInfo"].Expires = DateTime.Now.AddDays(1); 

HttpCookie aCookie = new HttpCookie("userInfo"); 
aCookie.Values["userName"] = "patrick"; 
aCookie.Values["lastVisit"] = DateTime.Now.ToString(); 
aCookie.Expires = DateTime.Now.AddDays(1); 
Response.Cookies.Add(aCookie); 

EDIT:クッキーの概要(強調は筆者)から:

変更と削除のクッキー: あなた を直接変更することはできません。クッキー。 代わりに、Cookieを変更すると、 という新しいCookieが作成され、 のCookieが作成され、 ブラウザに送信され、古いバージョン がクライアントに上書きされます。

+0

これは、ユーザー名と個人用サイトのように同時にCookieを保存していて、Cookieに追加しています。私の場合は既にCookieにユーザー名を保存しています。 。これを行う方法はありますか? –

2

クッキーの変更と削除:クッキーを直接変更することはできません。代わりに、クッキーを変更するには、新しい値で新しいクッキーを作成し、クライアントに古いバージョンを上書きするためにクッキーをブラウザに送信します。

関連する問題