>Grazie per la risposta, che sono cose diverse lo so, uno è tipizzato
>l'altro no, ma il mio problema è capire cosa è meglio usare e
>perchè. Cosa è più performante?
>
Ciao,
la differenza tra i due consiste nella logica di funzionamento. Il viewstate è salvato in pagina mentre la variabile statica è una unica all'interno del processo corrente (quello che sta facendo girare il sito web), quindi nel caso in cui due utenti stiano visualizzando la pagina avrai due comportamenti differenti:
- con il viewstate ognuno memorizzerà nel viestate il proprio valore e questo non interferirà con nessun altro utente
- con la variabile statica il valore memorizzato sarà lo stesso per tutti quindi avrai dei problemi di concorrenza. Un utente potrebbe salvare un valore e il secondo che si collega lo sovrascrive.
Se quello che vuoi salvare è un qualcosa legato all'utente allora l'unica soluzione è il viewstate, o in alternativa la session.
Per quanto riguarda la tipizzazione del viewstate è verò che utilizza degli object però è facilmente mascherabile attraverso una property all'interno della pagina. Io consiglio di accentrare sempre l'accesso al viewstate con una property, ad esempio:
private int IDSelezionato
{
get
{
object obj = ViewState["IDSelezionato"];
if (obj != null)
return Convert.ToInt32(obj);
else
return -1;
}
set { ViewState["IDSelezionato"] = value; }
}
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko