SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: see07 en Jueves 20 de Enero de 2005, 18:51

Título: Problema Con Response.redirect Y Target = “_blank”
Publicado por: see07 en Jueves 20 de Enero de 2005, 18:51
Hola:
Desde una web form pretendo abrir una nueva web form a la cual le paso  un parámetro de la 1ª web form, para esto uso el código siguiente:

if(this.CheckBox1.Checked == true)
{
string sIdPersona = "";
sIdPersona = TextBox3.Text;
Response.Redirect("WebForm2.aspx?id_persona=" + sIdPersona);
}

Si en la primera web form utilizo:
Target = “_blank” en form de HTML

Si CheckBox1 está chequeado, me muestra la 2ª web form correctamente en una nueva ventana, pero si CheckBox1 no está chequeado me muestra nuevamente en una nueva ventana la 1ª pantalla.

Si en la primera web form omito el target = “_blank”
Si CheckBox1 está chequeado, me muestra la 2ª web form en la misma  ventana donde se encontraba la 1ª, cosa que no deseo, pero si CheckBox1 no está chequeado  nada hace lo cual es correcto.

Lo que deseo es lograr que la nueva web form se muestre en una 2ª ventana si el CheckBox1 está chequeado y en caso de no estar chequeado, permanezca la 1ª web form sin que se abra nuevamente en una 2ª ventana.

Les agradeceré su orientación sobre la manera como puedo lograr esto.

A.L. :hola:
Título: Re: Problema Con Response.redirect Y Target = “_blank”
Publicado por: Güorker en Viernes 21 de Enero de 2005, 13:56
Hola,

Creo que el problema está en que pones target = _blank en el form de la pagina.
De esta manera, siempre que va y vuelve una peticion al servidor se te habre una nueva ventana. Y si la quitas, no se habre nunca a pesar de que ejecutes el Redirect.

Puedes probar a hacer otra cosa en vez de Response.Redirect.

Intenta a escribir lo siguiente cuando quieras abrir la nueva ventana:
Código: Text
  1.  
  2. if(this.CheckBox1.Checked == true)
  3. {
  4. string sIdPersona = "";
  5. sIdPersona = TextBox3.Text;
  6. Response.Write("<script>");
  7. Response.Write("window.open('WebForm2.aspx?id_persona=" + sIdPersona + "','_blank')");
  8. Response.Write("</script>");
  9. }
  10.  
  11.  

PEro manteniendo el target del form en su valor por defecto (que no sea Blank).

Ese codigo lo que hace es meter un javascript en la pagina, que cuando lo lee el explorador Web, abre una nueva ventana con esa dirección.

No se si es una solución muy elegante o no, pero a mi me suele funcionar.
Título: Re: Problema Con Response.redirect Y Target = “_blank”
Publicado por: see07 en Viernes 21 de Enero de 2005, 16:49
Muchisimas gracias amigo Guorker, funcionó perfecto.  :D
Te agradezco en verdado tu ayuda.
A.L.
Título: Re: Problema Con Response.redirect Y Target = “_blank”
Publicado por: Güorker en Lunes 24 de Enero de 2005, 12:40
De nada,

para eso contestamos a los post, para intentar ayudar.

Saludos. ;)