Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/03/2005, 11:47
flacusho
 
Fecha de Ingreso: agosto-2004
Mensajes: 48
Antigüedad: 19 años, 9 meses
Puntos: 0
Mensaje del explorer a recargar window.opener

Hola a todos!
Tengo un nuevo problema. Tengo un problema y para explicarlo he hecho el siguiente ejemplo.
padre.aspx
Código HTML:
<HTML>
	<HEAD>
		<title>Padre</title>
		<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
		<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
		<meta name="vs_defaultClientScript" content="JavaScript">
		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
	</HEAD>
	<body>
		<form id="Form1" method="post" runat="server">
			<asp:HyperLink id="HyperLink1" runat="server" NavigateUrl="javascript:var PopUpWin = window.open('Hijo.aspx','','left=50,top=10,width=250,height=150,status=no,toolbar=no,menubar=no,location=center,scrollbars=no')">Agregar Persona</asp:HyperLink>
			<asp:DataGrid id="dgPersonas" runat="server" Width="344px"></asp:DataGrid>
			<asp:Button id="Button1" runat="server" Width="104px" Text="Accion" EnableViewState="False"
				CausesValidation="False"></asp:Button>
		</form>
	</body>
</HTML> 
padre.aspx.vb
Código:
Dim TablaEmpleados As DataTable
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Introducir aquí el código de usuario para inicializar la página

        If Not Page.IsPostBack Then
            If Session("TablaEmpleados") Is Nothing Then
                TablaEmpleados = CrearDataSource()
                Session("TablaEmpleados") = TablaEmpleados
            End If

        End If
        BindGrid()
    End Sub
    Private Function CrearDataSource() As DataTable
        Dim dt As New DataTable
        Dim col As DataColumn
        'Se Crea la columna Nombre
        dt.Columns.Add(New DataColumn("Nombre", System.Type.GetType("System.String")))
        'Se crea la columna Apellidos
        dt.Columns.Add(New DataColumn("Apellidos", System.Type.GetType("System.String")))
        Return dt
    End Function
    Private Sub BindGrid()
        TablaEmpleados = Session("TablaEmpleados")
        dgPersonas.DataSource = TablaEmpleados
        dgPersonas.DataBind()
    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    End Sub
Hijo.aspx
Código HTML:
<HTML>
	<HEAD>
		<title>Hijo</title>
		<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
		<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
		<meta name="vs_defaultClientScript" content="JavaScript">
		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
	</HEAD>
	<body>
		<form id="Form1" method="post" runat="server">
			<P><FONT size="2">Nombre :&nbsp;&nbsp;&nbsp; </FONT>
				<asp:TextBox id="txtNombre" runat="server" tabIndex="1"></asp:TextBox></P>
			<P><FONT size="2">Apellidos:&nbsp;
					<asp:TextBox id="txtApellidos" runat="server" tabIndex="2"></asp:TextBox></FONT></P>
			<P><FONT size="2">
					<asp:Button id="btnGuardar" runat="server" Text="Guardar" Width="104px" tabIndex="3"></asp:Button><INPUT id="btnSalir" style="WIDTH: 104px; HEIGHT: 24px" onclick="window.close();" type="button"
						value="Cerrar" name="btnSalir" runat="server" tabIndex="4"></FONT></P>
		</form>
	</body> 
hijo.aspx.vb
Código:
 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Introducir aquí el código de usuario para inicializar la página
    End Sub

    Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
        Dim TablaEmpleados As DataTable = Session("TablaEmpleados")
        Dim rowNuevo As DataRow = TablaEmpleados.NewRow
        rowNuevo("Nombre") = txtNombre.Text.Trim
        rowNuevo("Apellidos") = txtApellidos.Text.Trim
        TablaEmpleados.Rows.Add(rowNuevo)
        Session("TablaEmpleados") = TablaEmpleados

        Response.Write("<SCRIPT LANGUAGE='JavaScript'> window.opener.location.reload(); window.close();</SCRIPT>")
    End Sub
Esta es una pagina donde muestro un listado de personas, y para agregar cada registro se abre un popup para introducir los datos.
Mientras solo presione el link Agregar todo funciona correctamente.
Pero si ocurreo otro evento antes como el del boton "Accion" y luego abro el popup, y aparece un fastidioso mensaje:
Mensaje Internet Explorer
Cita:
La pagina no puede actualizarse sin reenviar la información.
Haga click en Reintentar para volver a enviar la información,
en Cancelar para volver a la pagina que estaba intentado ver.
Reintentar Cancelar
Alguien sabe que ocurre.
Saludos y gracias por leer este mensaje.