Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Variabili
lunedì 25 maggio 2009 - 11.37
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
gae58
Profilo
| Senior Member
467
messaggi | Data Invio:
lun 25 mag 2009 - 11:37
salve,
ho un dubbio sull'uso delle Variabili.
Mi spiego. Ho la necessità di memorizzare un nome in una variabile.
Nell'aspx pensavo di definire la Var:
public partial class prova : System.Web.UI.Page
{
public string NomeFile = "AA BB";
...
in un evento valorizzare la Var per poi poterla usare negli altri eventi.
Ho fatto avrie prove, compresa quella di utilizzarla come private, ma niente da fare.
Successivamente ho usato il viewStae e funziona.
Quello che vorrei sapere è sbaglio io l'uso delle Variabili od in asp.net si usano solo nel viewState o nelle session?
grazie
Gaetano
rossimarko
Profilo
| Guru
1.173
messaggi | Data Invio:
lun 25 mag 2009 - 11:48
Ciao,
devi considerare che tra una richiesta e l'altra la classe che gestisce la pagina viene creata e distrutta, quindi i dati contenuti si perdono a meno che tu non li memorizzi nel viewstate (che verrà inserito nell'html della pagina) o in session.
Quindi se la variabile si svuota tra un evento legato ad una richiesta http e l'altra (ad esempio il click su un pulsante A e poi un click su un altro pulsante) il comportamento che hai riscontrato è normale
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
lun 25 mag 2009 - 11:53
Se nella tua aspx scrivi:
<% Response.Write(this.nomeVariabile); %>
funziona. Se hai dubbi chiedi. Ciao.
gae58
Profilo
| Senior Member
467
messaggi | Data Invio:
lun 25 mag 2009 - 12:22
>Rossi Marco
>
http://blogs.dotnethell.it/rossimarko
quindi ogni volta che la pagina viene ricreata, tipo il click su un pulsante perdo il valore della variabile.
Ho capito bene?
grazie
Gaetano
gae58
Profilo
| Senior Member
467
messaggi | Data Invio:
lun 25 mag 2009 - 12:24
>Se nella tua aspx scrivi:
>
><% Response.Write(this.nomeVariabile); %>
scusa se ti chiedo altre spiegazioni, ma non sono tanto esperto.
Il codice della Variabile l'inserisco nel code behind, la riga che tu mi indichi, mi dici di inserirla nel codice dell'aspx, ma la devo collegare ad una label o a che altro?
grazie
Gaetano
rossimarko
Profilo
| Guru
1.173
messaggi | Data Invio:
lun 25 mag 2009 - 12:26
>quindi ogni volta che la pagina viene ricreata, tipo il click
>su un pulsante perdo il valore della variabile.
>Ho capito bene?
>
>grazie
>
>Gaetano
Si, è come se facessi tutte le volte la creazione di una nuova istanza della tua classe, quindi le variabili ad ogni richiesta risultano vuote.
Le uniche alternative che hai per mantenere i dati di un utente tra una richiesta e l'altra sono:
- viewstate
- session
Il viewstate è legato alla pagina, mentre la session all'utente
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
Anonimo
Profilo
| Senior Member
392
messaggi | Data Invio:
lun 25 mag 2009 - 12:28
Nel code-behind basta che scrivi dopo il partial class:
public string nomeVariabile = "AA BB";
e basta.
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
lun 25 mag 2009 - 14:20
Ciao a tutti.
Un'altra alternativa non sarebbe quella di dichiarare la variabile Shared(condivisa)(Static in c#) come faccio per i WebServices???
Chiedo conferma a voi.
Ciao.
rossimarko
Profilo
| Guru
1.173
messaggi | Data Invio:
lun 25 mag 2009 - 14:24
>Ciao a tutti.
>Un'altra alternativa non sarebbe quella di dichiarare la variabile
>Shared(condivisa)(Static in c#) come faccio per i WebServices???
>Chiedo conferma a voi.
>
>Ciao.
>
Tutto dipende da che esigenze si hanno. Se la variabile deve contenere dei dati legati solo all'utente che sta guardando la pagina o meno.
Se il dato è legato solo all'utente allora per forza bisogna usare il viewstate (che è strettamente legato alla pagina visualizzata) oppure la session.
Tutti gli altri metodi (quindi variabili statiche, cache e oggetto application) sono condivisi con tutti gli utenti quindi usare ad esempio una variabile statica per contenere l'elemento selezionato da un utente sulla griglia non è corretto perchè verrebbe impostato per tutti gli utenti del sito.
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
lun 25 mag 2009 - 14:26
OK .. chiaro
Grazie.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !