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

pasar valores a pagina abierta en pestaña

Estas en el tema de pasar valores a pagina abierta en pestaña en el foro de ASPX (.net) en Foros del Web. Buenas, por favor si alguien podria ayudarme en lo siguiente, quiero abrir una pagina nueva en una pestaña del navegador (sencillo hasta ahi) y lo ...
  #1 (permalink)  
Antiguo 03/12/2014, 14:33
 
Fecha de Ingreso: noviembre-2014
Mensajes: 6
Antigüedad: 10 años
Puntos: 0
pasar valores a pagina abierta en pestaña

Buenas, por favor si alguien podria ayudarme en lo siguiente, quiero abrir una pagina nueva en una pestaña del navegador (sencillo hasta ahi) y lo ago asi:
Código:
<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank" href="http://localhost/.../MateriasEstudiante.aspx">HyperLink</asp:HyperLink>
ahora lo dificil es q kiero pasar unos datos a la pagina que abro desde el Hyperlink, cosa q no estoy pudiendo, actualmente paso valores entre las paginas q me abren en la misma ventana del navegador
Pagina origen:
Código:
public TextBox usuarioid
    { get { return this.Labelusuario; } }
    public TextBox carreraid
    { get { return this.Labelcarrera; } }
Pagina destino:
Código:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Labelcarrera.Text = PreviousPage.carreraid.Text;
            Labelusuario.Text = PreviousPage.usuarioid.Text;
        }
    }
pero al hacer esto hacia la pagina desde el hiperlink me indica un error en la pagina destino, en especifico el PreviusPage no contiene ninguna variable.
alguien podria ayudarme indicandome como solucionar esto o una mejor forma de pasar variables entre estas 2 paginas q se encuentran en distintas ventanas(pestañas del navegador)??
  #2 (permalink)  
Antiguo 04/12/2014, 15:29
Avatar de Drako_18  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 19 años, 6 meses
Puntos: 16
Respuesta: pasar valores a pagina abierta en pestaña

Buenas compañero,

Esto es normal, no vienes de ninguna otra página, la NUEVA pestaña eso eso... NUEVA, no hay ninguna que sea la anterior.
Puedes hacer 2 cosas...
1º) Si antes de llamar a la página ya sabes cuál es el valor de este parámetro... Podrías pasarlo mediante URL como método GET... "MiPagina.aspx?idUsuario=2222"
y recogerlo en la página MiPagina.aspx.
2º) Usa variables de sesión, pues veo que son el ID del usuario, que podrías necesitarlo en más sitios y la carrera de ese usuario (supongo). Lo mismo es mejor crear una clase Usuario que tenga esos datos y almacenar el objeto instanciado en sesión..

Espero que te sirva de ayuda.


Un saludo!
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)
  #3 (permalink)  
Antiguo 07/12/2014, 19:43
 
Fecha de Ingreso: noviembre-2014
Mensajes: 6
Antigüedad: 10 años
Puntos: 0
Respuesta: pasar valores a pagina abierta en pestaña

Gracias por la respuesta @Drako_18 y ya tenia pensado usar la primera opcion q propusiste solo q no me gusta esa opcion jajaja, ahora tengo una duda, como podria abrir ana pagina en una pestaña del navegador?, utilizar HyperLink con la opcion "Target="_blank" " me funciona, pero no puedo utilizarlo para enviar los datos ("MiPagina.aspx?idUsuario=2222") por q mediante el control HyperLink no veo como pasarle los valores ya q se maneja solo en la pagina .aspx y no en el codebehind, y los datos, por ejemplo "2222" los tengo en un label, q no se como pasarlo al NavigateUrl=MiPagina.aspx?idUsuario=2222 :S. tal vez seria NavigateUrl=MiPagina.aspx?idUsuario="label1.Text" (??? jajajaja es broma XD).
  #4 (permalink)  
Antiguo 08/12/2014, 15:49
Avatar de Drako_18  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 19 años, 6 meses
Puntos: 16
Respuesta: pasar valores a pagina abierta en pestaña

Buenas!

No hay de qué hombre jejejje
Puedes usar JS para abrir esa nueva ventana del lado del servidor o el control ASP que indicas... Y si no me equivoco, la forma de usarlo sería exactamente esa.. Pero montándolo desde VB.Net y no desde el código html...

Con la forma de JS, lo podrías hacer con un elemento html normal... <a> y en el js le dices que monte el parámetro con el contenido del label...

Eso si, recuerda que el label ha de ser ClientIDMode="Static" para que puedas usar el mismo ID en JS que en .Net...

Por cierto, ese código, lo puedes codificar en B64 u otra y así el usuario normal no verá ese ID... O no tan fácil.. :D

Si tienes más dudas... :)


Un saludo!
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)

Etiquetas: abierta, asp, aspx, pestaña
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 09:35.