Recuperare con ASP.NET i dati di una popup

di Emanuele DelBono, in UserScript, ASP.NET, C#,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

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