my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Windows 8
|
Libro WP7
|
Libro HTML5
|
Corso HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Media
Tutorials
Corsi
Libri
Eventi
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
Immagini random su più pagine
in
.NET Framework
>
ASP.NET 2.0
Ultimo messaggio
pixus
l'1 marzo 2011 alle 12:16
3 messaggi
dal 01 marzo 2011
Ciao a tutti,
vi scrivo per illustrarvi ciò che vorrei realizzare.
Io ho un database, in una tabella ho riportato un elenco di immagini in questo modo.
ID || nomeFile || descrizione
-------------------------------
1 || 001.jpg || immagine1
2 || 002.jpg || immagine2
....
100 || 100.jpg || immagine100
Voglio creare una sezione nel sito in cui queste immagini possano essere votate (utilizzo il Rating Ajax).
Chiaramente essendo molte le immagini, devo disporle su più pagine.
Se volessi mostrarle in un determinato ordine (ad esempio l'id), sarebbe semplice perchè potrei, supponendo 20 immagini per pagina, mostrare nella pagina pagina.aspx?pg=1 quelle con id da 1 a 20, in pagina.aspx?pg=2 quelle dal 21 al 40...
Però ho intenzione di farle visualizzare in maniera CASUALE.
Potrei utilizzare una gridview, mettendo nella query del datasource un ORDER BY RANDN() o qualcosa di simile. Ma la gridview mi permetterebbe di avere una sola colonna mentre io vorrei fare una sorta di matrice (4x5 o altro....).
Come fareste voi?
Grazie in anticipo
Rispondi
Quoting
giuffrixyz
l'1 marzo 2011 alle 14:18
51 messaggi
dal 04 agosto 2008
Ciao,
dal punto di vista della presentazione direi che il buon vecchio DataList fa al caso tuo.
Diversa la questione dell'ordinamento casuale: l'ORDER BY NEWID() per SQL Server va bene ma il problema è la paginazione lato server, cioé puoi ottenere 20 elementi casuali di una tabella ma non puoi, ad esempio, spostarti sui "secondi" 20 e, addirittura, tornare agli stessi "primi" 20 di prima.
Dovresti trovare un modo per salvare da qualche parte almeno l'elenco ordinato degli indici generati la prima volta ma la fattibilità (e il modo in cui farlo) dipendono dal numero di record, dal numero di accessi e dalle risorse disponibili.
Ciao
s
Rispondi
Quoting
pixus
l'1 marzo 2011 alle 15:46
3 messaggi
dal 01 marzo 2011
Ciao,
innanzi tutto grazie per la risposta.
dunque, gli elementi al momento sono sui 50, ma penso che aumenteranno di circa 30 l'anno... Alla fine come mole di dati non sarebbe neanche troppo elevata....
Cercavo qualche soluzione pulita, ma sembra non esserci...
Al che, pensavo che potrei una di queste possibilità:
1) Se non si tratta di Postback, caricare gli id in un array, variabile della pagina, ed a seconda del caso caricare i primi 20, i secondi 20, etc...
2) memorizzare gli id ordinati la prima volta in una variabile di tipo hidden...
3) Oppure se faccio pagine diverse, memorizzare in una session...
Tu che soluzione adotteresti?
Tieni conto che i dati al massimo arriveranno intorno ai 100-200, risorse discrete, al momento utilizzerei un hosting gratuito (con possibilità di migrare ad Aruba), accessi... se ci fossero due accessi contemporanei bisognerebbe accendere un cero a qualche santo!
Grazie!
Modificato da pixus
il 01 marzo 2011 15.07 -
Modificato da pixus
il 01 marzo 2011 15.09 -
Rispondi
Quoting
giuffrixyz
il 2 marzo 2011 alle 08:40
51 messaggi
dal 04 agosto 2008
Ciao,
il numero di record e il numero presunto di accessi ti permettono, a mio parere, di scegliere qualsiasi soluzione: parametro in get (magari codificato e/o compresso), cookie, hiddenfield, sessione... ognuno ha i suoi pregi e i suoi difetti.
In questo caso forse i cookie sono il compromesso migliore e anche la cosa più sensata formalmente.
Pensavo ad una possibile alternativa, un po' macchinosa ma che forse fa al caso tuo. Se hai una data di inserimento del record sul DB potresti ordinare per ora o per minuti o per secondi o per millisecondi, magari sommando un numero random a modulo 24 o 60 0 60 0 1000 rispettivamente. Potresti legare la logica di ordinamento a un numero random che generi e salvi come avresti fatto prima (ma devi salvare un numero e non 300).
Ciao
s
Rispondi
Quoting
pixus
il 2 marzo 2011 alle 17:00
3 messaggi
dal 01 marzo 2011
Ciao,
ottima idea! Mi hai convinto. L'idea del cookie l'avevo tralasciata ma può essere la soluzione migliore.
Ed ottima l'idea di salvare nel cookie solo un numero random generato sul momento, legando poi ad esso l'ordinamento.
Ottimo, grazie!
Rispondi
Quoting
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
E-commerce
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
Libri
OT
Commenti: blogs e notizie
Eventi
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.
Community
Effettua il login!
Hai dimenticato la password?
Ultimi messaggi
da php a classic asp
(3)
twain image scanner in sito web
(12)
Problema con script #401 per il ridimensioanmento di immagini
(4)
sessioni asp.net 2.0
(7)
Come intercettare errori dal server e mostrarli in una pagina personalizzata?
(3)
sharepoint
Problema visualizzazione pagine
(1)
UTENTI ONLINE
In primo piano
Annunciate le versioni ufficiali di Visual Studio 11
Rilasciato Visual Studio 11 Beta: scopri tutte le novità!
Windows 8 Consumer Preview: segui con noi la diretta
I più letti di oggi
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Windows Phone 7.5 Developer Day: Introduzione allo sviluppo
Le novità di ASP.NET 4.5 (Community Days 2012)
Metro Style App per Windows 8 con HTML e Javascript
Introduzione ad Entity Framework
Web Camp - ASP.NET MVC 3 (Community Days 2012)
Introduzione a LINQ, LINQ to XML, Object e DataSet
Migliorare le prestazioni di Entity Framework limitando l'uso del metodo Include
Windows Phone 7.5 Developer Day: costruire un'app in 60 minuti
Applicazioni Metro con XAML: cosa cambia per lo sviluppatore .NET con Windows 8
Media
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Metro Style App per Windows 8 con HTML e Javascript
Tutti i media
In evidenza
Dal 29 febbraio arriva WinRTItalia.com: tutto sullo sviluppo per Windows 8 e Metro
Migliorare le prestazioni di Entity Framework limitando l'uso del metodo Include
Aprire una popup in Silverlight
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Disegnare un'applicazione a servizi con Entity Framework e WCF
Il nuovo tag time in HTML5
Salvare e leggere rapidamente le impostazioni di un'applicazione Windows Phone
Metro Style App per Windows 8 con HTML e Javascript
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network