Как добавить / удалить / заменить LIST в куки с помощью C # - PullRequest
1 голос
/ 07 февраля 2011

Как добавить / удалить / заменить LIST в файлах cookie, используя C #.

//Declaring the List for image list

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

В приведенном выше коде у меня есть список со всеми значениями Image HREF. Теперь я хочу добавить эти значения в файлы cookie, используя C #, после этого я могу удалить этот элемент из файлов cookie, а также заменить значение другим значением одного и того же товара в печенье.

Пожалуйста, предложите!

Ответы [ 2 ]

5 голосов
/ 07 февраля 2011

Файлы cookie не удаляются, они просто перезаписываются или срок действия которых истек (иногда срок действия истекает).

Чтобы добавить его в файлы cookie, просто создайте коллекцию значений имени файла cookie и добавьте каждый элемент из списка в коллекцию.

Пример добавления списка элементов в куки:

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 голосов
/ 07 февраля 2011

вы можете использовать

// 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>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...