Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/09/2015, 10:25
kal_el52
 
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