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

Opener no funciona con paginas heredadas del master page

Estas en el tema de Opener no funciona con paginas heredadas del master page en el foro de ASPX (.net) en Foros del Web. hola tengo un webform que hereda de un master page y en esa pagina abro una ventana popup y al momento en que quiero actualizar ...
  #1 (permalink)  
Antiguo 19/08/2007, 11:32
 
Fecha de Ingreso: agosto-2006
Ubicación: en lima peru
Mensajes: 184
Antigüedad: 17 años, 8 meses
Puntos: 0
Opener no funciona con paginas heredadas del master page

hola tengo un webform que hereda de un master page y en esa pagina abro una ventana popup y al momento en que quiero actualizar la ventana padre no me permite, alguna sugerencia? este es mi codigo


ventana heredada del master page

Código:
// GridViewRow Fila = GridView1.Rows[int.Parse(ViewState["Codigo"].ToString)];
        ClientScript.RegisterClientScriptBlock(this.GetType(), "Abrir()", "<script language=javascript> window.open('WfrmPersonMan.aspx?ID2=" + GridView1.SelectedRow.Cells[1].Text + "&Tip=1&Op=2&ID=" + Session["HcPacientID"].ToString() + "','WfrmPersonMan','width=350,height=530,menubar=no,scrollbars=no,toolbar=no,location=no,directories=no,resizable=no,top=100,left=300');  </script>");
ventana popup que no hereda del master page


Código:
 ClientScript.RegisterClientScriptBlock(this.GetType(), "Cerrar()", "<script language=javascript> opener.refresh(); window.close();  </script>");
  #2 (permalink)  
Antiguo 19/08/2007, 13:11
 
Fecha de Ingreso: agosto-2006
Ubicación: en lima peru
Mensajes: 184
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Opener no funciona con paginas heredadas del master page

encontre esta libreria que me ayudo en lo que queria. Graciass!
http://www.elguille.info/colabora/NE...lNavegador.htm
  #3 (permalink)  
Antiguo 23/10/2008, 11:55
 
Fecha de Ingreso: octubre-2008
Mensajes: 3
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Opener no funciona con paginas heredadas del master page

Mira yo tarde bastante buscando un solución y al fin la encontré, lo que ocurre es que cuando se está usando un Master Page se requiere enviar mas información. Veamos, en el Code Behind de la página padre, en el evento de un boton coloque el siguiente código:

Dim str As String
str = "window.open('" + form + "?id=" + txtNombre.ClientID + "','childwindow','width=200,height=200,left=270,to p=180,resizable=no,titlebar=yes,toolbar=no')"

Page.ClientScript.RegisterStartupScript(Me.GetType (), "openpopup", str, True)


En este código lo que hago es abrir el popup y enviarle por query string el ClientID del objeto en el cuál quiero cargar los valores ingresados en el popup.


En el popup:

Dim str As String

str = "<script language=javascript>window.opener.document.getElem entById('" + Convert.ToString(Request.QueryString("id")) + "').value = '" + txtNombre.text + "';self.close();</script>"



Page.ClientScript.RegisterStartupScript(Me.GetType (), "close", Str)


Eso es todo, espero te sirva.
Saludos,
  #4 (permalink)  
Antiguo 07/06/2009, 23:41
 
Fecha de Ingreso: junio-2009
Mensajes: 2
Antigüedad: 14 años, 10 meses
Puntos: 0
De acuerdo Respuesta: Opener no funciona con paginas heredadas del master page

Aqui les va para C#, ojala les ayude por que a mi me a costado amanecidas ya me estaba arrepintiendo usar master Page, pero en fin aqui les va la solución cualquier cosa envieme su cuenta y les paso el codigo completo con paginas maestras y sin paginas maestras.

con Master Page:

Pagina Padre:

protected void cmdListaCliente_Click(object sender, EventArgs e)
{
AbreVentana("AyudaCliente.aspx");

}

private void AbreVentana(string ventana)
{
string Clientscript = "<script>window.open('" +
ventana +
"?id=" + txtID_CLIENTE.ClientID + "', 'childwindow' , 'width=500,height=340,scrollbars=1')</script>";

this.RegisterStartupScript("WOpen", Clientscript);

Pagina Hija:

protected void tblAyudaCliente_SelectedIndexChanged(object sender, EventArgs e)
{
// Selecciono la Linea utilizando la propiedad SelectedRow .
GridViewRow row = tblAyudaCliente.SelectedRow;

// Recupero el valor según su ubicación
String ID_CLIENTE = row.Cells[1].Text;

txtLocalizar.Text = ID_CLIENTE;

CerrarVentana(txtLocalizar.Text);

}

private void CerrarVentana(string valor)
{

string Clientscript = "<script language=javascript>window.opener.document.getElem entById('" + Convert.ToString(Request.QueryString["id"]) + "').value = '" + valor + "';self.close();</script>";

if (!this.IsStartupScriptRegistered("WClose"))
{
this.RegisterStartupScript("WClose", Clientscript);
}


}


sin Master Page:

Pagina Padre:

protected void cmdListaCliente_Click(object sender, EventArgs e)
{
AbreVentana("AyudaCliente.aspx");

}

private void AbreVentana(string ventana)
{

string Clientscript = "<script>var sValue = window.showModalDialog('" +
ventana +
"', 'SelectValueWindow','dialogWidth:600px; dialogHeight:340px; dialogLeft:100px;'); document.getElementById('txtID_CLIENTE').value = sValue; </script>";

if (!this.IsStartupScriptRegistered("WOpen"))
{
this.RegisterStartupScript("WOpen", Clientscript);
}

}


pagina Hija:

protected void tblAyudaCliente_SelectedIndexChanged(object sender, EventArgs e)
{
// Selecciono la Linea utilizando la propiedad SelectedRow .
GridViewRow row = tblAyudaCliente.SelectedRow;

// Recupero el valor según su ubicación
String ID_CLIENTE = row.Cells[1].Text;

txtLocalizar.Text = ID_CLIENTE;

CierraWindow(txtLocalizar.Text );

}

private void CierraWindow(string valor)
{

string Clientscript = "<script>window.returnValue = '" + valor + "'; window.close();</script>";

if (!this.IsStartupScriptRegistered("WClose"))
{
this.RegisterStartupScript("WClose", Clientscript);
}

}


/* Ojala les ayude favor cualquier cosa me pasan la voz para que no pasen lo que yo he pasado para encotrar esta solución, derrepente es rudimentaria esta solucion pero funciona a la perfeccion */


/* solo comuniquemen y les ayudo */
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 19:07.