-
Antonio Magliulo
# Pubblicato il 09/06/2003 alle 03:47 -
Rispondi
Ciao Ragazzi,
ho un problema con i Forms.Mi Spiego meglio:
ho una pagina .aspx in cui ho 2 Forms, che si chiamano Form1 e Frm.
Ora io da codice per accedere ad una textbox che si trova nel form "Frm" come devo fare??
P.S: Io uso un file differente per la scrittura del codice in VB.
Grazie in anticipo!!
-
Lawrence Oluyede
# Pubblicato il 09/06/2003 alle 04:27 -
Rispondi
> P.S: Io uso un file differente per la scrittura del codice in VB.
Ci sono vari modi per passare dati e variabili da una form alltro. Questo è uno:
string data = TextBox1.Text;
Session["data"] = data;
Così memorizzi nell'oggetto globale Session una variabile di nome "data" inserendogli il contenuto di "data". Nell'altra pagina puoi fare:
if(Session["data"] != null)
{
string data = (string)Session["data"];
}
Il cast è obbligatorio dato che memorizza Object.
-
Ste Dev
# Pubblicato il 09/06/2003 alle 04:32 -
Rispondi
Un altro metodo per passare i dati da un WebForm ad un altro è
utilizzare una stringa di query che aggiunge informazioni alla fine dell'URL e le passa alla pagina successiva. In questo modo però le informazioni risultano visibili sulla barra degli indirizzi.
Per ulteriori informazioni guarda la proprietà HttpRequest.QueryString.
-
Ste Dev
# Pubblicato il 09/06/2003 alle 04:54 -
Rispondi
Un altro metodo per gestire il passaggio di valori tra webform.....
Nel codice dichiara una o più proprietà di sola lettura nella pagina:
public string MiaProprieta
{
get
{
return TextBox1.Text;
}
}
Chiama la pagina successiva tramite il metodo Transfer dell'oggetto Server:
private void Button1_Click(object sender, System.EventArgs e)
{
Server.Transfer("Webform2.aspx");
}
Per leggere valori di proprietà dalla pagina di origine nella pagina chiamata crea una variabile di istanza tipizzata in base alla classe della pagina di origine:
public WebForm1 paginaDiOrigine;
Nel gestore eventi Page_Load della pagina da dove vuoi recuperare i dati passati devi ottenere la pagina di origine dall'oggetto Context.Handler:
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack){
WebForm1 paginaDiOrigine = (WebForm1) Context.Handler;
Label1.Text = paginaDiOrigine.MiaProprieta;
}
}
Ho scritto il codice per una proprietà sola, nulla ti vieta di crearne di più !