none
Sesiones de .net y javascript RRS feed

  • Pregunta

  • A través de ajax y jQuery he otenido en javascript unos valores, ahora, dichos valores me gustaría pasarlos como variables de sesión de .net en vb y no se ¿Cómo se pueden pasar valores de javascript a objetos de session de .net? He pensado en hacer en ashx, pero me parece mucho lio

    Gracias

    sábado, 21 de marzo de 2020 9:07

Respuestas

  • [...] he otenido en javascript unos valores, ahora, dichos valores me gustaría pasarlos como variables de sesión de .net [...]

    Bueno, la cuestión es que el javascript se ejecuta exclusivamente en lado cliente, mientras que la sesión existe exclusivamente en el lado servidor. Por lo tanto, no se puede hacer directamente el paso de esos valores desde el javascript a la sesión. No hay más remedio que ocasionar un post al servidor que contenga los valores (puede ser mediante ajax), y entonces el código servidor en vb recibe esos valores y es el que los pasa a la sesión.

    Ese post podría dirigirse hacia cualquier método en el servidor. Por ejemplo, podría ser un WebMethod estático en el .aspx. O también podría ser un .ashx. Pero si usas un .ashx, ten presente que de forma predeterminada no tiene acceso al Session. Es necesario habilitárselo añadiendo un atributo al principio. No recuerdo de memoria cuál es el atributo, pero con una pequeña búsqueda en la red no debería costarte mucho esfuerzo encontrarlo. No es "mucho lío" como dices, salvo el pequeño truco de que hay que habilitarle el Session. Pero por lo demás es muy sencillo, no debería requerir más que una línea que tome el dato pasado al ashx (por ejemplo en el querystring) y lo asigne al Session.

    • Marcado como respuesta Jesús Prieto sábado, 21 de marzo de 2020 14:37
    sábado, 21 de marzo de 2020 12:07

Todas las respuestas

  • hola

    >>¿Cómo se pueden pasar valores de javascript a objetos de session de .net?

    Si pones esos valores en un Hidden de asp.net al realizarse un evento podrias tomar el dato del hidden para asignarlo a la Session

    lo asignas de esta forma al hidden de asp.net

    $('#<%=Hidden1.ClientID%>').val(valor);

    ----

    Sino la otra seria realizar una llamada $.ajax a un webmethod para enviar el dato desde el cliente

    Calling ASP.Net WebMethod using jQuery AJAX

    en el webmethod usarias HttpContext.Session para acceder a la session y asignar el valor desde el cliente (browser)

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 21 de marzo de 2020 11:01
  • [...] he otenido en javascript unos valores, ahora, dichos valores me gustaría pasarlos como variables de sesión de .net [...]

    Bueno, la cuestión es que el javascript se ejecuta exclusivamente en lado cliente, mientras que la sesión existe exclusivamente en el lado servidor. Por lo tanto, no se puede hacer directamente el paso de esos valores desde el javascript a la sesión. No hay más remedio que ocasionar un post al servidor que contenga los valores (puede ser mediante ajax), y entonces el código servidor en vb recibe esos valores y es el que los pasa a la sesión.

    Ese post podría dirigirse hacia cualquier método en el servidor. Por ejemplo, podría ser un WebMethod estático en el .aspx. O también podría ser un .ashx. Pero si usas un .ashx, ten presente que de forma predeterminada no tiene acceso al Session. Es necesario habilitárselo añadiendo un atributo al principio. No recuerdo de memoria cuál es el atributo, pero con una pequeña búsqueda en la red no debería costarte mucho esfuerzo encontrarlo. No es "mucho lío" como dices, salvo el pequeño truco de que hay que habilitarle el Session. Pero por lo demás es muy sencillo, no debería requerir más que una línea que tome el dato pasado al ashx (por ejemplo en el querystring) y lo asigne al Session.

    • Marcado como respuesta Jesús Prieto sábado, 21 de marzo de 2020 14:37
    sábado, 21 de marzo de 2020 12:07