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 : </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>
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.