Saltar al contenido

¿Es posible establecer la variable localStorage o Session en la página asp.net y leerla en javascript en la otra página?

Solución:

Supongo que no puedes. El objetivo del almacenamiento local es que es local y solo puede manipularlo desde javascript. Si necesita pasar valores entre el servidor y el cliente, necesita utilizar alguna tecnología de transporte: cookies, llamadas ajax, campos ocultos, etc. Todo dependerá de cómo esté organizada su aplicación, qué tipo de información se almacena, su volumen, si desea redirigir o no, pero en todos los casos esto debe hacerse usando javascript, ya que esa es la única forma de acceder a los datos almacenados en localStorage.

Publicación antigua sí, pero el conocimiento siempre es bueno.

Puede configurar el almacenamiento local o de sesión desde asp.net (indirectamente). Dado que podemos configurar el código javascript en asp.net e insertarlo en el lado del cliente, no hay diferencia con la sesión o el almacenamiento local.

Prueba esto desde el lado del servidor

string script = string.Format("sessionStorage.userId= '{0}';", "12345");
ClientScript.RegisterClientScriptBlock(this.GetType(), "key", script, true);

Eso establecerá la variable de almacenamiento de sesión (podría hacer local) en el valor 12345.

He hecho esto usando cookies:

Código predeterminado.aspx.cs detrás:

HttpCookie userIdCookie = new HttpCookie("UserID");
userIdCookie.Value = id.ToString();
Response.Cookies.Add(userIdCookie);
Response.Redirect("~/ImagePage.html");

HttpCookie Expires no se configuró. Caduca por defecto con la sesión.

página html javascript:

function OnLoad() {
var userId = getCookie('UserdID');
if (userId == null)
    window.location = "http://localhost:53566/Default.aspx";        
}

function getCookie(cookieName) {
    var cookieValue = document.cookie;
    var cookieStart = cookieValue.indexOf(" " + cookieName + "=");
    if (cookieStart == -1) {
        cookieStart = cookieValue.indexOf("=");
    }
    if (cookieStart == -1) {
        cookieValue = null;
    }
    else {
        cookieStart = cookieValue.indexOf("=", cookieStart) + 1;
        var cookieEnd = cookieValue.indexOf(";", cookieStart);
        if (cookieEnd == -1) {
            cookieEnd = cookieValue.length;
        }
        cookieValue = unescape(cookieValue.substring(cookieStart, cookieEnd));
    }
    return cookieValue;
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *