Foros del Web » Programando para Internet » ASPX (.net) »

Pasar variables entre páginas

Estas en el tema de Pasar variables entre páginas en el foro de ASPX (.net) en Foros del Web. Buenos días, nuevamente solicitando su ayuda; esta oportunidad mi problema es algo que estoy seguro ya han teñido problemas con esto. Necesito pasar variables y ...
  #1 (permalink)  
Antiguo 22/09/2015, 05:14
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Pasar variables entre páginas

Buenos días, nuevamente solicitando su ayuda; esta oportunidad mi problema es algo que estoy seguro ya han teñido problemas con esto. Necesito pasar variables y su contenido entre páginas, es decir tener disponible el valor de un o muchas variables en varias páginas del mismo sitio. Yo lo sé hacer con html5 con localStorage pero en AspNet no encuentro como, agradezco su tiempo y ayuda.
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #2 (permalink)  
Antiguo 22/09/2015, 06:20
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Pasar variables entre páginas

Puedes pasarlas por querystring mediante GET o mediante POST.
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 22/09/2015, 07:05
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Pasar variables entre páginas

Cita:
Iniciado por Malenko Ver Mensaje
Puedes pasarlas por querystring mediante GET o mediante POST.
Gracias por responder pero no te comprendo, se a que te refieres con método POST o GET pero no entiendo como pasarla entre paginas, me explico: tengo un formulario login, si los datos son correctos necesito tener disponible en otras páginas los datos del usuario que hace login, por ejemplo nombre, documento y rol en la aplicación, espero me puedas dar mas claridad con este enredito; de antemano muchas gracias por tu tiempo y colaboración.
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #4 (permalink)  
Antiguo 22/09/2015, 07:57
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Pasar variables entre páginas

Cita:
Iniciado por Malenko Ver Mensaje
Puedes pasarlas por querystring mediante GET o mediante POST.
Gracias de nuevo por responder, ya he consultado y me funciona perfectamente con GET es decir con la url envío las variables, pero sucede que mis valores quedan expuestos en la url y tengo algo de datos importantes como para ser expuestos, no se si puedes tener otra idea o si estoy implementando mal esta opción de querystring quedo atento y muchas gracias por tu respuesta y tiempo en mi problema.
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #5 (permalink)  
Antiguo 22/09/2015, 08:53
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Respuesta: Pasar variables entre páginas

Cita:
pero sucede que mis valores quedan expuestos en la url y tengo algo de datos importantes como para ser expuestos,
Hay varias formas, si las pasas por querystring y tienes datos sensibles pueden encriptar la información (base 64) para que viaje por la URL, ejemplo
pagina.aspx?value=J1i3VC4bVM%2f6svrgUor9V8y4gvfGlR 6W5mtk2

para mayor referencia, checa aqui

otra opcion es usar una variable de sesion, recuperarla en la página destino e inmediatamente setearla en null para que no viva en la memoria

espero haber sido claro

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

Exentrit - Soluciones SharePoint & Net
  #6 (permalink)  
Antiguo 22/09/2015, 10:25
 
Fecha de Ingreso: septiembre-2015
Mensajes: 8
Antigüedad: 8 años, 7 meses
Puntos: 5
Respuesta: Pasar variables entre páginas

Hola acumulador,
Como dicen los demás compañeros, puedes usar querystring, es decir, pasar variables por URL.
Pero en este caso, como quieres guardar los datos de un usuario para verlos en todas las páginas, debes trabajar con "sesiones" o "Session".
En la variable Session puedes guardar cualquier objeto, como variables de tipo de datos primitivos, clases etc...
A esta variable de Session podrás acceder desde cualquier página de tu aplicación y podrás guardar los datos que desees.

Ahora para poner en contexto de tu problema, ya que necesitas hacer un Login y tener los datos del usuario que ingresó, deberías de tener una clase "Usuario".
En el cual tendrás los datos básicos (nombre, contraseña etc...). Cuando el usuario haya ingresado, llenarás el objeto "Usuario" y este objeto lo guardarás en la Session.
Te dejo un ejemplo.

Código C:
Ver original
  1. /*                       CLASE USUARIO                     */
  2. public class Usuario
  3. {
  4.      //Atributos
  5.      private string nombreUsuario;
  6.      private string contraseña;
  7.      
  8.      //Propiedades
  9.       public string NombreUsuario
  10.       {
  11.           get { return nombreUsuario; }
  12.           set { nombreUsuario = value; }
  13.       }
  14.  
  15.       public string Contraseña
  16.       {
  17.           get { return contraseña; }
  18.           set { contraseña = value; }
  19.       }
  20. }
  21. /*               FIN CLASE USUARIO                     */
  22.  
  23. /*--------------------------------------------------------------------------------------------------------------------------*/
  24. /*--------------------------------------------------------------------------------------------------------------------------*/
  25.  
  26. /*                  METODO IMPLEMENTADO EN TU PAGINA DE LOGIN      */
  27. public void IngresoUsuario()
  28. {
  29.      Usuario usuario = new Usuario();
  30.      usuario.NombreUsuario = txtNombreUsuario.Text; //Textbox donde el usuario ingresa el nombre de usuario
  31.      usuario.Contraseña = txtContraseña.Text; //Textbox donde el usuario ingresa la contraseña
  32.      
  33.      //A la propiedad Session, se le asigna un nombre identificador, que podrás acceder a él desde cualquier página
  34.  
  35.      Session["UsuarioConectado"] = usuario; //Le pasamos el objeto usuario, que contiene los datos del usuario que ingresó
  36.  
  37.      //Para consultar a la variable de Session, solamente debes poner Session[""], y entre las comillas colocas el identificador que pusiste
  38.      //Ejemplo: Usuario usuarioPagina = Session["UsuarioConectado"];
  39. }
  40. /*                                FIN METODO             */
  41.  
  42. /*--------------------------------------------------------------------------------------------------------------------------*/
  43. /*--------------------------------------------------------------------------------------------------------------------------*/
  44.  
  45.  
  46. /*                          CONSULTA USUARIO DESDE OTRA PAGINA                */
  47.  
  48. //Metodo implementado en la otra página
  49. public void DatosUsuarioConectado()
  50. {
  51.       //Si quieres mostrar el nombre del usuario conectado en otra página. Tienes 3 caminos,
  52.  
  53.       //Camino 1: Castear la variable Session para consultar los datos
  54.       lblNombreUsuario.Text = ((Usuario)Session["UsuarioConectado"]).NombreUsuario;
  55.  
  56.       //Camino 2: Crear un objeto usuario, y asignar el valor del Session (Igualmente tienes que castearlo)
  57.       Usuario usuarioPagina = ((Usuario)Session["UsuarioConectado"]);
  58.       lblNombreUsuario.Text = usuarioPagina.NombreUsuario;
  59.  
  60.       //Camino 3: Hacer una propiedad en tu página que acceda al valor del Session. Encuentro que este es el más optimo, porque así
  61.       //   trabajas con propiedades y puedes acceder desde cualquier metodo de la pagina y te evitas de estar casteando o instanciando un
  62.       //   nuevo objeto para acceder a los datos del usuario.
  63.       public Usuario UsuarioConectado
  64.       {
  65.           get { return (Usuario)Session["UsuarioConectado"]; }
  66.           set { Session["UsuarioConectado"] = value; }
  67.       }
  68.      
  69. }
  70.  
  71. /*--------------------------------------------------------------------------------------------------------------------------*/
  72. /*--------------------------------------------------------------------------------------------------------------------------*/
  73.  
  74. //Para cuando el usuario cierre la sesion o se desconecte de la aplicación, debes matar a la session,
  75. //Esto lo debes hacer de la siguiente manera.
  76. public void CerrarSesion()
  77.     {
  78.         Session.Abandon();
  79.         Session.Clear();
  80.         FormsAuthentication.SignOut();
  81.         //Aqui lo rediriges a la página de login.
  82.         Response.Redirect("~/Login.aspx", true);
  83.     }
  84. /*                       */


Te dejo un link que habla del estado Session: https://msdn.microsoft.com/es-cl/library/87069683(v=vs.80).aspx


Espero haber sido de ayuda

Saludos,

Última edición por kal_el52; 22/09/2015 a las 10:31
  #7 (permalink)  
Antiguo 22/09/2015, 11:21
 
Fecha de Ingreso: enero-2013
Mensajes: 176
Antigüedad: 11 años, 3 meses
Puntos: 2
Respuesta: Pasar variables entre páginas

Hola!,

facil, puedes usar variables de sesion

Session["usr"] = textbox1.text;

Para usar esa variable en otra pagina solo haces un cast a Session["usr"]
__________________
Define tus intereses, se curioso, investiga, comete errores, aprende, practica, mejora, enseña y vuelve a comenzar....
  #8 (permalink)  
Antiguo 22/09/2015, 12:23
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Pasar variables entre páginas

Cita:
Iniciado por acumulador Ver Mensaje
Gracias de nuevo por responder, ya he consultado y me funciona perfectamente con GET es decir con la url envío las variables, pero sucede que mis valores quedan expuestos en la url y tengo algo de datos importantes como para ser expuestos, no se si puedes tener otra idea o si estoy implementando mal esta opción de querystring quedo atento y muchas gracias por tu respuesta y tiempo en mi problema.
Si las pasas por post no se verá en la URL visible.
__________________
Aviso: No se resuelven dudas por MP!

Etiquetas: asp, páginas, variables
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 19:07.