Ho questo problemino da sottoporre alla Vs attenzione .
Ho realizzato una semplice pagina con un TextBox ed un LinkButton allo scopo di aprire una seconda pagina di popup con all’interno sempre un TextBox ed un LinkButton.
Quando clicco sul LinkButton della prima pagina apro la popup inserisco un valore nel TextBox clicco sul LinkButton la pagina si chiude e trovo il valore inserito nel TextBox della pagina principale. Fin qui tutto bene se uso una pagina principale non agganciata ad una MasterPage . Se invece la pagina principale e’ legata ad una MasterPage riesco ad aprire la popup ma inserendo un valore nella TextBox e cliccando sul LinkButton la popup non si chiude e nessun valore e’ passato alla pagina di apertura.
Qualcuno puo’ dirmi cosa deve essere cambiato per poter usare una pagina principale con masterPage ?
Grazie
Di seguito posto il codice usato:
Pagina principale Default.aspx
<body>
<form id="form1" runat="server">
<div>
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="Seleziona">LinkButton</asp:LinkButton>
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
</div>
</form>
</body>
Pagina principale Default.aspx.vb
Partial Class Default
Inherits System.Web.UI.Page
Sub Seleziona(ByVal Sender As Object, ByVal e As System.EventArgs)
Response.Write("<script> window.open('child.aspx','popup', 'titlebar=0, width=100, height=100'); </script>")
End Sub
End Class
Pagina popup child.aspx
<head runat="server">
<title>Pagina senza titolo</title>
<script language=javascript>
function PassValues()
{
var txtValue = document.getElementById("TextBox1").value;
window.opener.form1.txtUserName.value = txtValue;
window.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton>
</div>
</form>
</body>
Pagina popup child.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class child : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.LinkButton1.Attributes.Add("onclick", "PassValues()");
}
}

Rispondi quotando
