Ciao a tutti! Sono un novellino... vi prego quindi di scusarmi per strafalcioni ed imprecisioni terminologiche varie.
Dunque, avrei un quesito "logico" riguardo a un'applicazione Asp.Net 2.0 (C#) di VS 2005.
Per esercizio, sto realizzando un sito appoggiato a un db SQL Server con funzionalità simili a quelle di un forum, dove utenti "registrati", e dunque presenti nel db possono "postare" messaggi suddivisi in appositi "thread".
In particolare, la pagina dei messaggi è composta dal classico file aspx, ove ho posto un Literal (System.Web.UI.WebControls.Literal) vuoto e dal file separato aspx.cs, in cui effettuo le query sul db ed il popolamento del Literal.
Il riempimento del Literal avviene tramite un SqlDataReader e un ciclo while, all'interno del quale scrivo il codice HTML che mi genera una tabella contenente ogni "post".
Per intenderci, dove il Literal si chiama "litMsg" e il SqlDataReader "leggi" ho scritto:
while (leggi.Read())
{
litMsg.Text += "<table><tr><td>" + leggi["nickname"] + "<br/><img src='images/" +
leggi["avatar"] + "'/><br/>Messaggi: " + leggi["numMessaggi"] + "<br/></td><td>"
+ leggi["messaggio"] + "</td></tr></table>";
}
pescando dunque dalla tabella su db i dati relativi ai campi "nickname", "avatar", "numMessaggi" e "messaggio".
Funziona tutto, perché riesco a visualizzare ogni messaggio all'interno della sua tabella. Il mio problema è però questo: la quantità di "post" inseribili (e dunque di tabelle HTML create ciclicamente) è teoricamente infinita, ed ognuno di essi, su browser, compare nella stessa pagina. Come posso dire all'applicazione di riportare su una pagina i "post" da 0 a 5 e di distribuire gli altri (sempre di 5 in 5) suddividendoli su altre pagine? E come creare un "menù" con numeri progressivi contenenti ognuno il link alle pagine successive?
Ad ora mi sono fermato a questa soluzione parziale: ho un double "contaPost" che viene incrementato ad ogni post pubblicato, nel ciclo while (contaPost++); un double "numPagine = contaPost / 5" e un ciclo for che, in base ad esso, mi stampa i numeri progressivi sotto ai quali dovrei mettere i link alle pagine successive.
for (int n = 0; n <= numPagine; n++)
{ Response.Write(n.toString());}
Poi ho fatto mille altre prove strampalate ma non ho risolto nulla.
So che potrei usare un GridView, che include questa funzionalità già di suo, ma per ciò che volevo realizzare (ossia un vero e proprio insieme di tabelle contenenti "avatar" e "messaggio") questo controllo mi pone di fronte a non pochi limiti.
Mi rivolgo dunque a chi ne sa più di me, e ringrazio in anticipo chi riuscirà a darmi suggerimenti per questo rompicapo!