none
Dati in post a nuova fnestra RRS feed

  • Discussione generale

  • Salve a tutti,

    ho una domanda apparentemente banale ma, almeno io, non mi ci sto raccapezzando..

    Ho una pagina aspx con un form:  <form id="form1" runat="server" target="_blank" >

    all'interno del quale ho un ImageButton:

    <asp:ImageButton runat="server" BorderStyle="None" ImageUrl="images/lente.png" Width="20px" ImageAlign="Middle" ID="prova1"  OnCommand="prova1_Command" />

    La mia intenzione e' quella di inviare dei dati in post aprendo una nuova finestra.

    Nel file aspx.cs ho il metodo prova1_Command che contiene:

    WebLayer _wbLay = new WebLayer();
    _wbLay.Url = "http://localhost/Recieve.aspx";
    _wbLay.Add("kiave1", "valore1");
    _wbLay.Post();

    dove il metodo post fa proprio un post tipo HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Url);

    Il target="_blank" del form dovrebbe garantirmi l'apertura in una nuova finestra, giusto? Quello che succede e' infatti che i dati (kiave1, valore1) arrivano nella pagina Recieve.aspx (lo vedo in debug) che mi si apre anche in una nuova finestra ma poi il flusso "ricade" sulla pagina di partenza.

    Come e possibile ?

    • Tipo modificato Mila Daniel Ovidiu lunedì 28 marzo 2011 14:04 in attesa di un riscontro dal OP
    mercoledì 9 marzo 2011 08:26

Tutte le risposte

  • Il fatto che la pagina prosegua l'elaborazione della pagina chiamante è normale poichè il thread di elaboarazione non è stato interrotto aprendo una seconda pagina, per cio' che riguarda il cross page posting, hai provato a vedere qui:

    http://msdn.microsoft.com/en-us/library/ms178139.aspx

    Ciao


    Luca Congiu (congiuluc)
    giovedì 10 marzo 2011 09:16
    Moderatore
  •  

    Ciao, intanto grazie per la risposta.

    Ok, e non esiste un modo per interrompere il thread?

    Il link che suggerisci, se capisco bene, fa in modo che dalla pagina di atterraggio si prendano le variabili dalla pagina chiamante, giusto?

    Nel mio caso non è applicabile in quanto la pagina di atterraggio non è detto che sia in aspx, potrebbe essere in asp o php.

     

    Possibile che in aspx, nonostante il codebehind, non c'è modo di fare un post se non coi vecchi campi hidden, non esiste un modo piu elegante ?

    Tnx 1000

    giovedì 10 marzo 2011 11:05
  • Per bloccare il thread dovrebbe bastare:

    Response.End

    Ciao


    Luca Congiu (congiuluc)
    giovedì 10 marzo 2011 14:21
    Moderatore

  • Ok, rigiro la domanda: da una pagina aspx è possibile, usando un web control .NET, effettuare un post ad una nuova pagina usando il codebehind senza passare i dati in campi hidden ?

    Tnx 1000

    giovedì 10 marzo 2011 15:01
  • Nessuna idea :( ?
    venerdì 11 marzo 2011 10:49
  • Ciao nero.mancini,

    premetto che non capisco bene quello che voresti ottenere o di che tipo di controllo ti stai interessando.

    Comunque le possibilità sono due: GET e POST. Per GET il valore lo recuperi usando Querystring e per POST usi un controllo all'interno di un Form.

    Potresti fornire dettagli sulle funzionalità che dovrebbe avere il tuo controllo, magari ne troviamo uno :)

    Potrebbe interessarti: Controlli personalizzati.

    Saluti, Daniel. 

     


    Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e farli aumentare la conoscenza sui prodotti e le tecnologie Microsoft.

    LinkedIn

    martedì 15 marzo 2011 13:32