Used Namespaces
using
System;
using
System.Collections.Generic;
using
System.Collections.Specialized;
using
System.Web;
Usage of Multiple values Cookie
Dictionary<string,
string> keyVal = new
Dictionary<string,
string>();
keyVal.Add("FirstName",
"Lajapathy");
keyVal.Add("LastName",
"Arun");
StateManagement
stateManagement = new
StateManagement();
stateManagement.SetMultipleUsingSingleKeyCookies("Data",
keyVal);
keyVal = stateManagement.GetMultipleUsingSingleKeyCookies("Data");
Creating Http request
public
static HttpRequest
GetHttpRequest()
{
return
HttpContext.Current.Request;
}
Creating http response
public
static HttpResponse
GetHttpResponse()
{
return
HttpContext.Current.Response;
}
Getting single value from the cookie
public
string GetIndividualCookies(string
cookieKey)
{
return
GetHttpRequest().Cookies[cookieKey].Value;
}
Setting single value to the cookie
public
void SetIndividualCookies(string
name, string value)
{
GetHttpResponse().Cookies[name].Value = value;
}
Getting multiple values from single cookie
public
Dictionary<string,
string> GetMultipleUsingSingleKeyCookies(string
cookieName)
{
//creating dic to return as collection.
Dictionary<string,
string> dicVal = new
Dictionary<string,
string>();
//Check whether the cookie available or not.
if
(GetHttpRequest().Cookies[cookieName] != null)
{
//Creating a cookie.
HttpCookie
cok = GetHttpRequest().Cookies[cookieName];
if
(cok != null)
{
//Getting multiple values from single cookie.
NameValueCollection nameValueCollection = cok.Values;
//Iterate the
unique keys.
foreach
(string key in
nameValueCollection.AllKeys)
{
dicVal.Add(key, cok[key]);
}
}
}
return
dicVal
}
Setting multiple values to the single cookie
public
void SetMultipleUsingSingleKeyCookies(string
cookieName, Dictionary<string,
string> dic)
{
if
(GetHttpRequest().Cookies[cookieName] == null)
{
HttpCookie
hc = new
HttpCookie(cookieName);
//This adds multiple cookie in the same key.
foreach
(KeyValuePair<string,
string> val in
dic)
{
hc[val.Key] =
val.Value;
}
//Setting 2 day expire.
hc.Expires.Add(new
TimeSpan(2, 0, 0, 0));
GetHttpResponse().Cookies.Add(hc);
}
}
}
Output
Thanks for reading this blog. Have a nice day.