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>
Código:
Hijo.aspxDim 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
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 : </FONT> <asp:TextBox id="txtNombre" runat="server" tabIndex="1"></asp:TextBox></P> <P><FONT size="2">Apellidos: <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>
Código:
Esta es una pagina donde muestro un listado de personas, y para agregar cada registro se abre un popup para introducir los datos.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
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:
Alguien sabe que ocurre.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
Haga click en Reintentar para volver a enviar la información,
en Cancelar para volver a la pagina que estaba intentado ver.
Reintentar Cancelar
Saludos y gracias por leer este mensaje.