Retroceder   Foros del Web > Programación para sitios web > .NET > web forms

Respuesta
 
Herramientas Desplegado
Antiguo 09-may-2007, 13:52   #1 (permalink)
sniper_lcd ha deshabilitado el karma
 
Avatar de sniper_lcd
 
Fecha de Ingreso: marzo-2007
Mensajes: 45
Nombre del Usuario

Buenas tardes, espero que me puedan ayudar con esto:

Tengo una pagina de inicio de sesion y ahi tengo 2 textbox y un boton
le doy mi nombre de usuario y mi contraseña y clickeo, y valida que sea correcto bla, bla, cuando es correcto, hago un response.redirect a la pagina principal

y mi pregunta es, como puedo mandar los datos que yo escribi en los textbox de la de inicio para la pagina principal, porque lo que quiero es que con los datos que yo escribi en la de inicio, hacer una consulta para traer el nombre del usuario y mostrarlo como
Bienvenido "Usuario"

Espero que tenga chance de ayudarme y espero que me hayan entendido
todas sus respuestas son bienvenidas

Saludos
sniper_lcd está desconectado   Responder Citando
Antiguo 10-may-2007, 07:58   #2 (permalink)
sniper_lcd ha deshabilitado el karma
 
Avatar de sniper_lcd
 
Fecha de Ingreso: marzo-2007
Mensajes: 45
Re: Nombre del Usuario

Hola, soy yo mismo jaja, solo para informarles que ya descubri como de hace

hay que declarar una variable de sesion, en algunas paginas mencionan que no es muy conveniente usarlas, pero en mi caso si me ayudan, para hacer una variable de sesion es

Session("Variable")= valor

y para tomar el valor de esa variable es al reves

valor = Session("Variable")


y ya....
Saludos
JL

Última edición por sniper_lcd; 10-may-2007 a las 07:59. Razón: Error en el texto
sniper_lcd está desconectado   Responder Citando
Antiguo 10-may-2007, 13:16   #3 (permalink)
jabi no se puede cailificar en este momento
 
Avatar de jabi
 
Fecha de Ingreso: noviembre-2006
Mensajes: 112
Re: Nombre del Usuario

Por si alguien no quiere usar las variables que comentas, otra forma de hacerlo es colocar el siguiente código (C#) al pulsar el botón:

Código:
 Response.Redirect("paginaDestino.aspx?nombre="+TextBox1.Text);
(o bien cambiando Response.Redirect por Server.Transfer, si queremos que no se vea el parámetro en la barra de direciones)

...donde TextBox1 es la caja de texto que contiene el nombre. Y por último recibir el parámetro en el procedimiento Page_Load de la página de destino, por ejemplo mostrándolo en un Label:

Código:
Label1.Text = "Bienvenido " + Request.Params["nombre"];
Saludos.
__________________
No estoy aquí de vacaciones, creéme.
jabi está desconectado   Responder Citando
Antiguo 11-may-2007, 01:49   #4 (permalink)
Bravenap está en el buen camino
 
Avatar de Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 1.899
Enviar un mensaje por Skype™ a Bravenap
Re: Nombre del Usuario

También puedes hacer lo siguiente. En el formulario en el que el usuario introduce sus datos y los validas creas un ticket de autenticación. Este ticket lo enviarás en forma de cookie al cliente.
Código:
....
FormsAuthentication.Initialize()
                    ' Se crea el ticket con el rol que le corresponda
                    Dim ticket As New FormsAuthenticationTicket(1, _
                            nombreUsuario, DateTime.Now, _
                            DateTime.Now.AddMinutes(20), _
                            True, roles, _
                            FormsAuthentication.FormsCookiePath)
                    ' Se encripta el ticket
                    Dim encTicket As String = FormsAuthentication.Encrypt(ticket)
                    ' Se crea la cookie con el ticket encriptado
                    Dim cookie As New HttpCookie(FormsAuthentication.FormsCookieName, encTicket)
                    ' Caducidad de la cookie igual que el ticket
                    'cookie.Expires = ticket.Expiration
                    ' Se envía la cookie
                    Response.Cookies.Add(cookie)
                    ' Se redirige al usuario
                    Response.Redirect(Request.QueryString("ReturnUrl"))
...
Luego, desde cualquier parte del sitio y siempre que no haya caducado el ticket puedes acceder al nombre de usuario de esta manera:
Código:
Dim nombreUsuario As String = Context.User.Identity.Name
No olvides poner esto en el archivo global.asax:
Código:
    Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
        ' Se desencadena al intentar autenticar el uso
        If Not (HttpContext.Current.User Is Nothing) Then
            If HttpContext.Current.User.Identity.IsAuthenticated Then
                If TypeOf HttpContext.Current.User.Identity Is FormsIdentity Then
                    Dim id As FormsIdentity = CType(HttpContext.Current.User.Identity, FormsIdentity)
                    Dim ticket As FormsAuthenticationTicket = id.Ticket
                    Dim userData As String = ticket.UserData
                    Dim roles() As String = userData.Split(",")
                    HttpContext.Current.User = New GenericPrincipal(id, roles)
                End If
            End If
        End If
    End Sub
Es un poco más largo pero luego el acceso es más rápido y sin recurrir a variables de sesión.

Un saludo.

PD: A ver si le podéis echar un vistacillo a mi problemilla.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
Bravenap está desconectado   Responder Citando
Antiguo 04-ene-2008, 09:33   #5 (permalink)
Laufwerk no se puede cailificar en este momento
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Re: Nombre del Usuario

Cita:
Iniciado por jabi Ver Mensaje
Por si alguien no quiere usar las variables que comentas, otra forma de hacerlo es colocar el siguiente código (C#) al pulsar el botón:

Código:
 Response.Redirect("paginaDestino.aspx?nombre="+TextBox1.Text);
(o bien cambiando Response.Redirect por Server.Transfer, si queremos que no se vea el parámetro en la barra de direciones)

...donde TextBox1 es la caja de texto que contiene el nombre. Y por último recibir el parámetro en el procedimiento Page_Load de la página de destino, por ejemplo mostrándolo en un Label:

Código:
Label1.Text = "Bienvenido " + Request.Params["nombre"];
Saludos.
¿que diferencia hay entre Response.Redirect y FormsAuthentication.RedirectFromLoginPage?

yo utilizo FormsAuthentication.RedirectFromLoginPage(this.tb_ usuario.Text, true);

¿tambien puedo utilizar el Request.Params["nombre"];?, supongo que habrá otra manera de utilizarlo.
A ver si sabeis cual es...

Gracias por adelantado
Laufwerk está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:13.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93