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.
Approfondimenti
I più letti di oggi
- PWAConf 2020 - Online
- Reactive form tipizzati con FormBuilder in Angular
- Utilizzare ChatGPT con Azure OpenAI
- Mantenere sempre reattiva una Lambda di AWS
- Messaggi in tempo reale con Blazor Server
- Una chat con #aspnetcore e #websockets https://aspit.co/bmh di @GentiliMoreno #webapi #aspnetcore2
- Autenticarsi in modo sicuro su Azure tramite GitHub Actions
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Creare una MarkupExtension per accedere alle proprietà statiche in Silverlight 5.0
- Navigare la struttura visuale di un UIElement fino a recuperare l'elemento logico in Silverlight 3.0