2010-04-06 11 views
5

Esta pregunta mezcla el scripting del lado del cliente con el análisis del lado del servidor.JavaScript y ASP.NET - Cookies con pares clave/valor

En algunos casos, estoy escribiendo una cookie en el navegador del usuario utilizando la propiedad document.cookie. En otros casos, estoy escribiendo la misma cookie en el navegador del usuario a través del objeto ASP.NET Response.

Cuando escribo el HttpCookie en el lado del servidor, estoy usando la colección de valores (http://msdn.microsoft.com/en-US/library/system.web.httpcookie.values%28v=VS.80%29.aspx) para almacenar pares clave/valor en la cookie. También me gustaría poder escribir pares clave-valor en la cookie a través de JavaScript.

¿Cómo puedo crear cookies con pares clave/valor a través de JavaScript que ASP.NET puede analizar?

Gracias!

Respuesta

2

¿Puede obtener el valor de la cookie principal a través de javascript?

Por ejemplo, si su nombre de cookie principal es UserDetails y los elementos secundarios son FirstName y LastName asp.net debe establecer el valor UserDetails Cookie de la siguiente manera.

Nombre = Jon & Apellido = Doe

Gracias,

0

Hay un Request.Cookies que puede usar para leer valores de cookies.

HTH.

+0

Creo que el PO está pidiendo si es capaz de imitar la notación colección NameValuePair en la cookie en el lado del cliente (es decir, añadir elementos a la cookie usando un par nombre-valor-que C# entenderá en el código-detrás) .. –

0

Hace poco escribió a blog post about this exact topic. Aquí está el JavaScript para crear un ASP.NET HttpCookie compatible con varios valores de cookies:

var setMultiValuedCookie = function(name, values) { 
    var valuePairs = []; 
    for (var n in values) { 
     valuePairs.push(n + "=" + values[n]); 
    } 
    var cookieValue = valuePairs.join("&"); 
    document.cookie = name + "=" + cookieValue; 
}; 

// Usage: 
setMultiValuedCookie("TestCookie", { firstName: "John", lastName: "Doe" });