First, you need few JavaScript methods for reading/writing cookies. Let's call the page we want to read/write cookies to CookiesPage.html.
<html> <head> <title>Cookies Page</title> <script type="text/javascript"> // Create a cookie with the specified name and value function SetCookie(name, value) { document.cookie = name + "=" + value; alert("Cookie successfully set"); } // Retrieve the value of the cookie with the specified name function GetCookie(cookieName) { // cookies are separated by semicolons var allCookies = document.cookie.split("; "); for (var i = 0; i < allCookies.length; i++) { // a name/value pair (a crumb) is separated by an equal sign var currentCookieName = allCookies[i].split("="); if (cookieName == currentCookieName[0]) return allCookies[i]; } // a cookie with the requested name does not exist return null; } // Retrieve all cookies function GetAllCookies() { var allCookies = document.cookie.split("; "); return allCookies; } </script> </head> <body bgcolor="aqua"> <h1>Cookies page</h1> </body></html>
Next, the Silverlight part. On the page, you need several TextBox controls for reading/writing cookies and a RadHtmlPlaceholder for displaying the HTML page that contains the cookies.

The code-behind approach is pretty simple. Execute the JavaScript methods using RadHtmlPlaceholder's IFrame.
public MainPage(){ InitializeComponent(); // Get the IFrame from the HtmlPresenter HtmlElement iframe = (HtmlElement)htmlPlaceholder1.HtmlPresenter.Children[0]; // Set an ID to the IFrame so that can be used later when calling the javascript iframe.SetAttribute("id", "myIFrame");}// Writes a cookieprivate void SetCookie(){ // Define a name for the cookie var name = this.txtSetCookieName.Text; // Define a value for the cookie var value = this.txtSetCookieValue.Text; // Call the SetCookie(name,value) JavaScript method string code = string.Format("document.getElementById('myIFrame').contentWindow.SetCookie('{0}','{1}')", name, value); HtmlPage.Window.Eval(code);}// Gets a cookieprivate void GetCookie(){ // Get the name of the cookie we're looking for string name = this.txtGetCookieName.Text; // Call the GetCookie(name) JavaScript method string code = string.Format("document.getElementById('myIFrame').contentWindow.GetCookie('{0}')", name); var result = HtmlPage.Window.Eval(code); // Get the value of the cookie and display it var value = result.ToString().Split('=')[1]; MessageBox.Show("Value: " + value);}// Gets all cookiesprivate void GetAllCookies(){ // Call the GetAllCookies JavaScript method to retrieve all cookies string code = "document.getElementById('myIFrame').contentWindow.GetAllCookies()"; // Display the result in a ListBox ScriptObject result = HtmlPage.Window.Eval(code) as ScriptObject; int i = 0; this.cookies.Clear(); while (result.GetProperty(i) != null) { this.cookies.Add(result.GetProperty(i) as string); i++; }}That's it. You can take a look at the video which demonstrates the application or you can download the sample project bellow.
Hi, I'm Kiril and I'm the Product Manager of Telerik UI for Android, Windows Universal and Windows Phone. Feel free to ping me on +KirilStanoev or @KirilStanoev