Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    16

    Recupero variabile da pagina popup

    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()");
    }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    il problema è che essendo la pagina base in una masterpage,
    cambia il nome del campo di testo (che se non sbaglio dovrebbe avere davanti il nome del placeOlder). per conferma, lancia la pagina padre, fai view source del codice html e cerca nome e id della tua textbox!

    PS: consiglio: abilita in explorer il debugger per gli script! in modo da vedere chiaramente gli errori javascript
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    16
    Il problema era duplice. Non solo l'ID del TextBox cambia ma anche quello del form. In pratica il problema si e' risolto modificando questa stringa:

    window.opener.aspnetForm.ctl00_ContentPlaceHolder1 _txtUserName.value = txtValue;

    dove e' stato sostituito sia l'Id del form che del TextBox dopo averli individuati nel view source della pagina.

    Abilitando il debugger si ha evidenza della mancata individuazione degli oggetti con il loro ID originale.

    Infinitamente grazie per la celere e precisa risposta.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.