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
Problemi con lo "stateless"
martedì 22 luglio 2008 - 16.24
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
flop79
Profilo
| Newbie
11
messaggi | Data Invio:
mar 22 lug 2008 - 16:24
Buongiorno a tutti,
premetto che sicuramente le web form non sono il mio forte, quindi perdonatemi se la cosa sembrerà banale.
Ho creato una web form, all interno di essa ho posizionato vari controlli, tra cui una "bulleteled" list.
Dopo di che ho crato una classe, semplice di questo tipo :
Public Class FileTrasm
Public NomeElemento As String
Public PercorsoFile As String
Public Descrizione As String
Sub New(ByVal Nome As String, ByVal Perc As String, ByVal Descr As String)
Me.NomeElemento = Nome
Me.PercorsoFile = Perc
Me.Descrizione = Descr
End Sub
End Class
Dopo di che nella mia web form ho dichiarato :
Private FileList As New List(Of FileTrasm)
Ora, il mio problema è che quando al "button click" vado ad aggiungere un item con :
FileList.Add(New FileTrasm("Mio", "p", FileList.Count))
Praticamente, il count rimane sempre a 0, in quanto credo non ho fornito un metodo per "ricordare" lo stato della mia lista.
inoltre vorrei asscociare questo mia lista ad una grid view, ma non riesco a atrovare i metodi corretti.
Potreste darmi qualche dritta ?
Ciao e grazie mille
Filippo
trasportation
Profilo
| Junior Member
104
messaggi | Data Invio:
mar 22 lug 2008 - 17:09
Tieni presente che la pagina web viene ricreata ogni volta che tu la chiami quindi quello cambi se non decidi tu di salvarlo da qualche parte, viene reinizializzato.
Ti ho scritto al volo un esempio in C# per utilizzare il viewstate come contenitore per "ricordarti" il tuo elenco.
Ricordati solo che non devi esagerare con le voci contenuti altrimenti prendi in esame il fatto di utilizzare un DB e ricorda che la tua classe deve essere marcata con l'attributo Serializable.
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (this.ViewState["miaLista"] != null)
files = (List<mioFile>)this.ViewState["miaLista"];
foreach (mioFile s in files)
{
Response.Write(s.ToString());
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = NumeroMese(TextBox1.Text).ToString();
mioFile f = new mioFile();
f.numero = 12;
f.val = "Mia stringa";
files.Add(f);
this.ViewState["miaLista"] = files;
}
}
[Serializable]
public class mioFile
{
public int numero = 0;
public string val = string.Empty;
public override string ToString()
{
return this.val + " - " + this.numero.ToString();
}
}
per quando riguarda la dataview, alla proprità DataSource deve essere assognato l'oggetto che vuoi mostrare.
R.
/*
* web:
http://www.robertobeccari.it
*/
flop79
Profilo
| Newbie
11
messaggi | Data Invio:
mar 22 lug 2008 - 17:45
Ti ringrazio moltissimo della risposta, proverò immediatamente.
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 !