HttpRequest.Cookies Property
Gets a collection of cookies sent by the client.
[Visual Basic] Public ReadOnly Property Cookies As HttpCookieCollection [C#] public HttpCookieCollection Cookies {get;} [C++] public: __property HttpCookieCollection* get_Cookies(); [JScript] public function get Cookies() : HttpCookieCollection;
Property Value
An HttpCookieCollection object representing the client's cookie variables.
Remarks
ASP.NET includes two intrinsic cookie collections. The collection accessed through the Cookies collection of HttpRequest contains cookies transmitted by the client to the server in the Cookie header. The collection accessed through the Cookies collection of HttpResponse contains new cookies created on the server and transmitted to the client in the Set-Cookie header.
Example
The following example loops through all cookies sent by the client and sends the name, expiration date, security parameter, and values of each cookie to the HTTP output.
[Visual Basic] Dim loop1, loop2 As Integer Dim arr1(), arr2() As String Dim MyCookieColl As HttpCookieCollection Dim MyCookie As HttpCookie MyCookieColl = Request.Cookies ' Capture all cookie names into a string array. arr1 = MyCookieColl.AllKeys ' Grab individual cookie objects by cookie name for loop1 = 0 To arr1.GetUpperBound(0) MyCookie = MyCookieColl(arr1(loop1)) Response.Write("Cookie: " & MyCookie.Name & "<br>") Response.Write("Expires: " & MyCookie.Expires & "<br>") Response.Write ("Secure:" & MyCookie.Secure & "<br>") ' Grab all values for single cookie into an object array. arr2 = MyCookie.Values.AllKeys ' Loop through cookie value collection and print all values. for loop2 = 0 To arr2.GetUpperBound(0) Response.Write("Value " & CStr(loop2) + ": " & Server.HtmlEncode(arr2(loop2)) & "<br>") Next loop2 Next loop1 [C#] int loop1, loop2; HttpCookieCollection MyCookieColl; HttpCookie MyCookie; MyCookieColl = Request.Cookies; // Capture all cookie names into a string array. String[] arr1 = MyCookieColl.AllKeys; // Grab individual cookie objects by cookie name. for (loop1 = 0; loop1 < arr1.Length; loop1++) { MyCookie = MyCookieColl[arr1[loop1]]; Response.Write("Cookie: " + MyCookie.Name + "<br>"); Response.Write("Expires: " + MyCookie.Expires + "<br>"); Response.Write ("Secure:" + MyCookie.Secure + "<br>"); //Grab all values for single cookie into an object array. String[] arr2 = MyCookie.Values.AllKeys; //Loop through cookie Value collection and print all values. for (loop2 = 0; loop2 < arr2.Length; loop2++) { Response.Write("Value" + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>"); } } [C++] int loop1, loop2; HttpCookieCollection* MyCookieColl; HttpCookie* MyCookie; MyCookieColl = Request->Cookies; // Capture all cookie names into a string array. String* arr1[] = MyCookieColl->AllKeys; // Grab individual cookie objects by cookie name. for (loop1 = 0; loop1 < arr1->Length; loop1++) { MyCookie = MyCookieColl->Item[arr1[loop1]]; Response->Write(String::Format(S"Cookie: {0}<br>", MyCookie->Name)); Response->Write(String::Format(S"Expires: {0}<br>", __box(MyCookie->Expires))); Response->Write(String::Format(S"Secure:{0}<br>", __box(MyCookie->Secure))); //Grab all values for single cookie into an object array. String* arr2[] = MyCookie->Values->AllKeys; //Loop through cookie Value collection and print all values. for (loop2 = 0; loop2 < arr2->Length; loop2++) { Response->Write(String::Format(S"Value{0}: {1}<br>", __box(loop2), Server->HtmlEncode(arr2[loop2]))); } } [JScript] var arr1, arr2 : String[] var myCookieColl : HttpCookieCollection var myCookie : HttpCookie myCookieColl = Request.Cookies // Capture all cookie names into a string array. arr1 = myCookieColl.AllKeys // Grab individual cookie objects by cookie name for(var i=0; i < arr1.Length; i++){ myCookie = myCookieColl(arr1[i]) Response.Write("Cookie: " + myCookie.Name + "<br>") Response.Write("Expires: " + myCookie.Expires + "<br>") Response.Write ("Secure:" + myCookie.Secure + "<br>") // Grab all values for single cookie into an object array. arr2 = myCookie.Values.AllKeys // Loop through cookie Value collection and print all values. for(var j=0; j < arr2.Length; j++){ Response.Write("Value " + j + ": " + Server.HtmlEncode(arr2[j]) + "<br>") } }
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
HttpRequest Class | HttpRequest Members | System.Web Namespace