Foros del Web » Programación para mayores de 30 ;) » .NET »

Abrir otra ventana del explorador

Estas en el tema de Abrir otra ventana del explorador en el foro de .NET en Foros del Web. Saludos a todos, Tengo un webform en el cual tengo un botón, yo deseo que al presionar el botón se me abra otra ventana del ...
  #1 (permalink)  
Antiguo 22/11/2004, 08:51
 
Fecha de Ingreso: agosto-2004
Mensajes: 55
Antigüedad: 19 años, 8 meses
Puntos: 0
Abrir otra ventana del explorador

Saludos a todos,

Tengo un webform en el cual tengo un botón, yo deseo que al presionar el botón se me abra otra ventana del explorador pero sin que se cierre la página padre es decir la que contiene el botón. Yo se que esto se hace con javascript, pero en que lugar debo poner ese código y como hago para que el botón ejecute ese código javascript al ser presionado.

Agradeceria cualquier tipo de ayuda, hasta luego
Jani
  #2 (permalink)  
Antiguo 22/11/2004, 09:18
Avatar de phinojosa  
Fecha de Ingreso: agosto-2004
Ubicación: Guayaquil-Ecuador
Mensajes: 145
Antigüedad: 19 años, 8 meses
Puntos: 2
Creo que lo que necesitas es un ventana Modal

Ahi te va el codigo

En el lado de HTML, pon esta función

function OpenModal()
{
//Estas son las configuraciones de la ventana
var WinSettings = "status:no;center:yes;resizable:no;dialogHeight:55 0px;dialogWidth:800px"

var url ="http://localhost/ventana.aspx";
var MyArgs = window.showModalDialog(url, MyArgs, WinSettings);
}

Y en el lado del servidor agregas el atributo al boton

this.txtBoton.Attributes.Add("onClick","javascript : OpenModal()");


Espero te haya servido,

Saludos,
  #3 (permalink)  
Antiguo 22/11/2004, 12:41
 
Fecha de Ingreso: agosto-2004
Mensajes: 55
Antigüedad: 19 años, 8 meses
Puntos: 0
Gracias phinojosa el código funciono perfectamente.

Hasta luego,
Jani
  #4 (permalink)  
Antiguo 23/11/2004, 08:17
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Un preguntita phinojosa.

¿Cómo hacemos referencia desde esa ventana modal a la ventana principal, por ejemplo, para cambiar el valor de algún control?

Antes estaba utilizando directamente Javascript en cliente tanto para abrir la ventana como para cambiar el valor de un DropDownList de la ventana padre. Funcionaba, pero de esta manera el control DropDownList parecía "sordo" ante el evento de cambiarse.

Un poco mejor explicado aquí.

Gracias y un saludo.
__________________
¡¡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!
  #5 (permalink)  
Antiguo 23/11/2004, 08:32
Avatar de phinojosa  
Fecha de Ingreso: agosto-2004
Ubicación: Guayaquil-Ecuador
Mensajes: 145
Antigüedad: 19 años, 8 meses
Puntos: 2
Lo que puedes hacer es lo siguiente:

var MyArgs = window.showModalDialog(url, MyArgs, WinSettings);

en la variable MyArgs llegan los valores de retorno de la ventana modal, podrias validar que dependiendo de lo que te devuelva esa variable hacer cambios en tu pantalla "padre".

Ejemplo:
var ParmA;
var MyArgs = new Array(ParmA);
var url='http://localhost/ventana.aspx';
var WinSettings = "status:no;center:yes;resizable:no;dialogHeight:37 0px;dialogWidth:800px"
var MyArgs = window.showModalDialog(url, MyArgs, WinSettings);

//Aqui dependiendo de lo que devuelva se cambia los valores de la pagina
//"padre"
if (MyArgs==null)

window.document.Form1.ddlFPago.selectedIndex=0;
else
{
window.document.Form1.txtSaldo.value=MyArgs[0];
window.document.Form1.txtActSaldo.value=MyArgs[1];
}


Saludos,
  #6 (permalink)  
Antiguo 23/11/2004, 08:36
Avatar de phinojosa  
Fecha de Ingreso: agosto-2004
Ubicación: Guayaquil-Ecuador
Mensajes: 145
Antigüedad: 19 años, 8 meses
Puntos: 2
Ah me olvidaba...

En la ventana modal hay que enviarle los valores de retorno para que los reciba la ventana "padre"

private void btnGraSal_Click(object sender, System.EventArgs e)
{
Response.Write("<script language='JavaScript'>" +
" var ParmA ='"+VALOR_RETORNO+"';"+
" var MyArgs = new Array(ParmA);"+
" window.returnValue = MyArgs;window.close();</script>");
}


Saludos,

  #7 (permalink)  
Antiguo 23/11/2004, 11:18
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Parece que funcionará. En cuanto lo pruebe te lo digo.

Un saludo y muchas gracias.
__________________
¡¡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!
  #8 (permalink)  
Antiguo 26/11/2004, 08:28
 
Fecha de Ingreso: julio-2003
Mensajes: 120
Antigüedad: 20 años, 9 meses
Puntos: 0
Una pregunta: en la ventana modal, cómo recuperáis los datos que se pasan en el segundo parámetro de window.showModalDialog(), los argumentos a la ventana que abrimos. ¿Es alguna propiedad del objeto "window" de la ventana modal?
  #9 (permalink)  
Antiguo 26/11/2004, 08:39
Avatar de phinojosa  
Fecha de Ingreso: agosto-2004
Ubicación: Guayaquil-Ecuador
Mensajes: 145
Antigüedad: 19 años, 8 meses
Puntos: 2
Cita:
Iniciado por MrRipley
Una pregunta: en la ventana modal, cómo recuperáis los datos que se pasan en el segundo parámetro de window.showModalDialog(), los argumentos a la ventana que abrimos. ¿Es alguna propiedad del objeto "window" de la ventana modal?

var WinSettings = "status:no;center:yes;resizable:no;dialogHeight:37 0 px;dialogWidth:800px"
var MyArgs = window.showModalDialog(url, MyArgs, WinSettings);

La variable WinSettings es para seteo de la ventana
La variable MyArgs es para recibir los argumentos desde la ventana modal cuando esta es cerrada. Desde la ventana modal se hace un window.returnValue = MyArgs para poder retornar los valores.

Cuando la ventana modal es cerrada se receptan los valores en la variable MyArgs. Por eso hay un MyArgs=window.showModalDialog(......);

Ahora para recibir los parámetros en la ventana modal se la hace como si fuera una ventana normal, es decir con las variables URL.

url="ventana.aspx?parametro1=hola&parametro2=adios";

Y se hace un...
var1=Request.QueryString["parametro1"];
var2=Request.QueryString["parametro2"];


Espero haberte ayudado.


Saludos,
  #10 (permalink)  
Antiguo 26/11/2004, 09:11
 
Fecha de Ingreso: julio-2003
Mensajes: 120
Antigüedad: 20 años, 9 meses
Puntos: 0
Entiendo. Pensé que el parámetro MyArgs se podía usar para pasar parámetros de la ventana origen a la ventana modal. Sé pasar datos a través de la QueryString, pero suele quedar bastante feo y pensé q me lo podía ahorrar de esta forma.
Me ha quedado claro. Muchas gracias.
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 13:32.