13 messaggi dal 13 gennaio 2005
Domanda Speedy..

Ho Usato il comando ViewState in questa maniera per passare dei valori tra una pagina e l'altra in asp.net:

'nella pagine service1.aspx, alla pressione di un button
'getTextForm non fa altro che scrivere una string
'con tutti i contentuti di una form da compilare
ViewState("FormC")  = getTextForm()

Server.Transfer("service2.aspx")

   . . .

'Nella pagina servie2.aspx, in Page_load
Message.text = ViewState("FormC")



Perchè non produce alcun effetto?

Esiste un modo migliore per scambiare informazioni e dati tra due pagine secondo voi?

Grazie. Ancora una volta.
passato true a preserveForm?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
104 messaggi dal 15 maggio 2003
www.descor.com
Puoi anche passarle tramite querystring, ovvero dopo l'url della pagina aggiungi "?" e poi una serie di coppie chiave/valore.
Per esempio http://www.sito.it/pagina1.aspx?ID=2&CAT=PIPPO

per recuperarle dalla pagina1.aspx basta fare Request.querystring(indice) o request.querystring(nomevariabile).


Altrimenti se hai variabili molto lunghe o qualcosa di diverso da una semplice stringa puoi usare la Session, che invece è valida per l'intera sessione.
fai Session.Add(nomevariabile, valore)

e nella pagina1.aspx recuperi la variabile con Session(nomevariabile)

ovviamente se ti scade la sessione perdi tutte le variabili salvate...

ci sono anche altri metodi ma penso che questi siano i piu usati
Modificato da La Fayette il 01 luglio 2005 14.05 -

- La Fayette -

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
in poche righe:

aggiungi al webconfig sotto il nodo <system.web>
<pages enableViewStateMac="true" />


poi pagina A

private void Button1_Click(object sender, System.EventArgs e)
    {
         Server.Transfer("paginaB.aspx",true);
    }

public string test
    {
      get
      {
          this.ViewState["c"] = "uuuuu";
        return (string)this.ViewState["c"];
      }
    }


nella pagina B


private void Page_Load(object sender, System.EventArgs e)
    {
      classePaginaA wf= (classePaginaA)Context.Handler;
      string cc = wf.test;
}


nondovrebbe mancare nulla

è scritta in C# mail concetto è semplice

ciao marco

p.s. per completezza ci aggiungo pure questo

http://www.aspitalia.com/script/578/TrasferireDatiPiuWebFormASPNET.aspx


Modificato da nostromo il 01 luglio 2005 14.37 -

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
13 messaggi dal 13 gennaio 2005
Wow, direi che le soluzioni abbondano!

Vi ringrazio, vedo di mettere in pratica quanto mi avete segnalato, sicuro "di tornar vittorioso".

Ciao e buon W/E!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.