Necesito acceder a una variable de sesión en javascript. Intenté todos los ejemplos pero ninguno de ellos funciona. No sé lo que estoy haciendo mal.
tengo lo siguiente:
En mi controlador de cuenta después de un inicio de sesión exitoso, configuré mi variable de sesión de esta manera.
HttpContext.Session.Add("IsShowStartPopUp", true);En mi vista de aterrizaje, trato de acceder a la variable de sesión de esta manera:
<script type="text/javascript"> var IsShowStartPopUp = '<%= Session["IsShowStartPopUp"] %>'; </script>Mi resultado es:
'<%= Sesión["IsShowStartPopUp"] %>'
¿Me estoy perdiendo de algo?
Gracias.
En su código, no debe usar contención al intentar acceder a un valor dinámico '<%= Session["IsShowStartPopUp"] %>' . De lo contrario, se considerará como una cadena.
Puedes usar sessionStorage .
Ejemplo:
<script> sessionStorage.setItem('mysession','value'); alert(sessionStorage.getItem('mysession')); </script>Encontré esta respuesta:
No, el estado de la sesión es del lado del servidor.
Luego uso lo siguiente:
Todavía configuro la variable de sesión en el controlador cuando el usuario inicia sesión
HttpContext.Session.Add("IsShowStartPopUp", true);Luego creé lo siguiente en mi vista de MVC:
@if (HttpContext.Current.Session["IsShowStartPopUp"].ToString() == true) { HttpContext.Current.Session["IsShowStartPopUp"] = false; <script type="text/javascript"> window.onload = function () {ShowPopup();} </script> };Esto resolvió mi problema y si hay alguna sugerencia, eres más que bienvenido a comentar.
Gracias