Foros del Web » Programación para mayores de 30 ;) » .NET »

problema con session.remove

Estas en el tema de problema con session.remove en el foro de .NET en Foros del Web. Buenas, Tengo una variable de sesión defindida de esta manera: id.text = 10 session("cod_actuacion") = id.text y abro una nueva página donde recojo el valor ...
  #1 (permalink)  
Antiguo 25/08/2003, 11:29
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 8 meses
Puntos: 0
problema con session.remove

Buenas,
Tengo una variable de sesión defindida de esta manera:

id.text = 10
session("cod_actuacion") = id.text

y abro una nueva página donde recojo el valor de la sesión.

En esta página, entre otras cosas, borro (o al menos esa es mi intención) la variable de sesión de esta manera:

session.remove("cod_actuacion")

Si vuelvo a la página anterior y selecciono otro campo distinto:

id.text = 14
session("cod_actuacion") = id.text

y vuelvo a abrir la página, sigo viendo el valor antiguo de la sesión. Porque? No he borrado bien la sesión? si el session.remove() no me la borra, que demonios hace?

Gracias y un saludo
  #2 (permalink)  
Antiguo 26/08/2003, 08:50
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Hola.. el valor de id.text = 14 te lo estás trayendo de una caja de texto.. le colocas el valor en tiempo de ejecución o en tiempo de diseño..??

porque se supone que la sintaxisi está bien.. yo ya hice unas pruebas y no tuve problemas.

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 26/08/2003, 12:39
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 8 meses
Puntos: 0
de un DataGrid

Hola,

El valor lo traigo de un DataGrid con el método OnItemCommand
Te pongo el trozo de código que utilizo:

ElseIf e.CommandName = "bt_opcions_perfil" Then
codigo_perfil = dgrPerfiles.DataKeys(e.Item.ItemIndex)
Session("cod_perfil") = codigo_perfil
Response.Write("<script language='javascript'>")
Response.Write("void(window.open('menu_perfils.asp x','mensuario','width=470, height=270'));")
Response.Write("</script>")


La primera vez que entro en menu_perfils.aspx, si que me coge bien la sesión. Pero a partir de la segunda ya no. Siempre me recupera el valor de la primera vez
Para asegurarme (aunque creo que no hace falta) en menu_perfils.aspx hago un session.remove("cod_perfil")

Saludos
  #4 (permalink)  
Antiguo 28/08/2003, 12:47
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Hola nuevamente... estuve checando y porque no mejor le pasas la variable y la recoges en la pagina en vez de guardarla en una session y con ello te ahorras un poquito de memoria.

por ejemplo:

ElseIf e.CommandName = "bt_opcions_perfil" Then
codigo_perfil = dgrPerfiles.DataKeys(e.Item.ItemIndex)
Response.Write("<script language='javascript'>")
Response.Write("void(window.open('menu_perfils.asp x?perfil=+" codigo_perfil +"','mensuario','width=470, height=270'));")
Response.Write("</script>")

y en tu página menu_perfils.aspx la recoges:

request.params("perfil")

Como ves la idea..??
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #5 (permalink)  
Antiguo 28/08/2003, 12:49
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Cita:
Response.Write("void(window.open('menu_perfils.asp x?perfil=+" codigo_perfil +"','mensuario','width=470, height=270'));")
un pequeño error con la concatenacion... jeje

sería:

Response.Write("void(window.open('menu_perfils.asp x?perfil=" + codigo_perfil +"','mensuario','width=470, height=270'));")
  #6 (permalink)  
Antiguo 28/08/2003, 13:13
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 8 meses
Puntos: 0
lo veo cojonudo

En serio RootK, es que te has adelantado a una nueva pregunta que tenía que era, precisamente, como desde una función JS recoger valores para pasarlos a otra página.
Creo que haciendo eso (ahora lo probaré y te digo qué tal) me ahorraré problemas. Además me gusta más así, como tu me propones. El hecho de hacerlo con variable de sesión era simplemente porque no sabía hacerlo de otra manera y corría prisa.

Ya que estamos, deja que te lance una nueva pregunta. La web que estoy haciendo tiene 3 frames (top, left y right). La primera página de la web es una pantalla de login que se carga en el frame left, ok? La idea es que si el usuario no introduce correctamente su password y su id de usuario, no pueda acceder a la web. Ahora bien, si introduce bien sus datos, podrá navegar tranquilamente por cualquier pantalla de la web. He intentado tocar el Web.Config (el tema del authorization, ...) pero no he dado con lo que necesito.

Sabes como tengo que tocar el web.config (si es que es eso lo que tengo que tocar) para impedir que un usuario anónimo meta la URL de una de las páginas de la web y acceda a ella sin haber hecho antes el login?

Es decir, imagina que mi aplicación consta de 2 páginas:
login.aspx y principal.aspx. Para poder acceder a principal.aspx, primero tienes que registrarte, pero tu (un usuario anónimo) sabes la URL para acceder a principal.aspx sin pasar por login.aspx. Pues eso es lo que quiero evitar y no se cómo hacerlo.

Yo había pensado crearme una especie de SESSION_ID que controle la navegación del usuario, pero no se si eso es correcto ni sé donde crearla ni cuando.

Me puedes ayudar? Gracias de todos modos por tu respuesta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:53.