13 messaggi dal 03 marzo 2011
Ciao ragazzi. Mi stò interessando ad mvc ed a tal proposito ho seguito il tutorial su codeplex relativo alla creazione di unìapplicazione di esempio: MvcMusicStore.
Tutto ok.
L'unica cosa è che non capisco come gestire in MVC3 le liste collegate.
Supponiamo di avere in una dropdownlist la lista dei generi musicali ed in un altra dropdownlist la lista degli artisti.
Vorrei fare in modo che selezionando un genere da una dropdown list, la dripdownlist con gli artisti venga popolata con la lista di tutti gli artisti appartenenti a quel genere.
Come la gestico? A livello di controller?
Datemi un pista!

ciao ragazzi!
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
quando possibile, bisognerebbe evitare il completo ricaricamento di pagina per aggiornare piccole porzioni di interfaccia. Potresti recuperare i nomi degli artisti con una chiamata ajax; jQuery ti aiuta molto nel gestire questo tipo di situazioni.

A grandi linee dovrebbe succedere questo: con jQuery, sottoscrivi l'evento change della prima dropdownlist (quella dei generi), così, quando l'utente seleziona un genere, avrai l'occasione di effettuare una chiamata ajax al server.
Predisponi una nuova action all'interno dello stesso controller. Questa action accetterà come parametro l'ID del genere selezionato e in base ad esso interrogherà il database per ottenere la lista degli autori. Infine, formatterà la lista in json grazie alla funzione Json(listaAutori).
jQuery riceverà la risposta del server e sarà in grado di interpretare i dati json che le sono ritornati. Con l'elenco degli autori a sua disposizione, potrà rigenerare la seconda dropdownlist.

Ti linko un tutorial che illustra passo-passo proprio il tuo caso. Attenzione però perché questo usa Microsoft Ajax, mentre la libreria di scripting preferita in MVC3 è jQuery (è pure più leggera e semplice da usare).
http://stephenwalther.com/blog/archive/2008/09/07/asp-net-mvc-tip-41-creating-cascading-dropdown-lists-with-ajax.aspx

ciao,
Modificato da BrightSoul il 16 ottobre 2011 13.38 -

Enjoy learning and just keep making

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.