Spesso viene chiesto in che modo recuperare i dati inseriti in una finestra di popup per utilizzarli lato server sulla pagina che lo ha aperto.
Una delle tecniche è quella mostrata di seguito e fa uso di alcune funzioni javascript per gestire i valori di ritorno.
L'idea è che la pagina popup che legge i dati li invii alla pagina che l'ha aperta tramite querystring, la quale li utilizza lato server per le operazioni le servono.
Ecco la pagina 1:
<%@ Page language="c#" %> <script language="C#" runat="server"> void Page_Load(object sender, EventArgs e) { MostraPopUp.Attributes["OnClick"] = "javscript:window.open(\"DimmiIlNome.aspx\",null, \"height=200,width=400,status=yes,toolbar=no,menubar=no,location=no\");"; if (Request.QueryString["Nome"] != String.Empty) lblNome.Text = "Nome: " + Request.QueryString["Nome"]; } </script> <form runat="server"> <asp:Button id="MostraPopUp" runat="server" Text="Chiedi il nome" ></asp:Button><br> <asp:Label id="lblNome" runat="server"></asp:Label> </form>
Ed ecco la pagina Popup:
<script language="C#" runat="server"> void Page_Load(object sender, EventArgs e) { btnChiudiFinestra.Attributes["OnClick"] = "javscript:ClosePopUp();"; } </script>
<script language="javascript"> function ClosePopUp() { var txt = document.getElementById("txtNome"); window.opener.document.location.href = "PaginaUno.aspx?Nome=" + txt.value; window.close(); } </script>
<form runat="server"> <asp:TextBox id="txtNome" runat="server"></asp:TextBox> <asp:Button id="btnChiudiFinestra" runat="server" Text="Chiudi"></asp:Button> </form>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.