- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Passare variabili tra 2 form
-
Passare variabili tra 2 form
Ho un form (form1) che prende i dati dall'utente.
Poi c'è un pulsante preview che se premuto apre un'altra pagina (pag1) che visualizza in anteprima i dati immessi dall'utente. Sapreste spiegarmi come fare?
-
non sei stato molto chiaro nella spiegazione, servirebbero maggiori informazioni.
-
@freebreathe said:
Ho un form (form1) che prende i dati dall'utente.
Poi c'è un pulsante preview che se premuto apre un'altra pagina (pag1) che visualizza in anteprima i dati immessi dall'utente. Sapreste spiegarmi come fare?Se stai usando asp.net, e non sapendo quali e quanti dati sono, visto che non l'hai specificato, puoi usare l'oggetto Session, in questo modo:
Nel form 1 scrivi qualcosa del tipo
this.Session["dato1"]=this.textBoxDato1.Text;
nel form 2 scrivi
this.previewLiteral.Text=(string)this.Session["dato1"];
Dentro l'oggetto Session puoi inserire qualunque tipo di dati: interi, stringhe, classi fatte da te. Basta usare il corretto cast ( string in questo caso) quando "estrai" l'oggetto da session.
Se i dati sono stringhe e non troppo lunghe, puoi usare l'oggetto Request in questo modo:
Premendo il pulsante preview dentro al Form 1, devi far aprire una pagina del tipo ht tp://miosito/form2.aspx?dato1=valore1&dato2=valore2
e nel form 2 scrivi:
this.previewLiteral.Text=this.Request["dato1"];
Spero fosse quello che ti serviva.
Ciao
-
Ok.
Allora dato questo form come faccio a passare le variabili Autore, Qualifica e Titolo alla pagina 'PWopinione.aspx'?<asp:FormView ID="FormView1" runat="server" DataKeyNames="idRubrica" DataSourceID="odsInserisciRubrica" OnInserted="odsArticolo_Inserted" OnDataBound="FormView1_DataBound"> <InsertItemTemplate> <span class="labelspan">Autore</span> <asp:TextBox ID="nomeAutoreTextBox" runat="server" Text='<%# Bind("nomeAutore") %>' CssClass="input-text"></asp:TextBox><br /> <span class="labelspan">Qualifica</span> <asp:TextBox ID="qualificaAutoreTextBox" runat="server" Text='<%# Bind("qualificaAutore") %>' CssClass="input-text"></asp:TextBox><br /> <span class="labelspan">Titolo</span> <asp:TextBox ID="titoloArticoloTextBox" runat="server" Text='<%# Bind("titoloArticolo") %>' CssClass="input-text"></asp:TextBox><br /> <a class="green" href="javascript: void(0)" onclick="popup('PWopinione.aspx')">preview sito</a> </InsertItemTemplate> </asp:FormView>
-
lo puoi fare come ti ha spiegato sopra machiavellino,
in poche parole vai nella pagina del code behind e (a seconda del linguaggio in cui stai programmando) scrivi:Session["Autore"] = nomeAutoreTextBox.Text
Session["Qualifica"] = qualificaAutoreTextBox.Text
Session["Titolo"] = titoloArticoloTextBox.TextPoi nella pagina in cui li devi utilizzare fai una cosa del tipo:
If (Session["Autore"] != null)
{
String autore = Session["Autore"].ToString()
}Così ti salvi nella variabile autore il valore di nomeAutoreTextBox che avevi salvato in sessione e ripeti il codice per le altre variabili:
Nb. la sintassi che ho scritto è in c# se ti serve in vb cambia poco comunque è così:
Session("Autore") = nomeAutoreTextBox.Text
If Session("Autore") <> Nothing Then
Dim autore as String = Session("Autore").ToString()End If
-
Così è chiarissimo. Grazie mille