Un modo semplice di trattare form con molti campi è quello di far navigare l'utente fra più pagine con un percorso che varia a seconda delle sue risposte. Un'alternativa fornita da ASP.NET, è l'utilizzo dei Panel: si possono usare più pannelli, ciascuno con un sottoinsieme del form, da visualizzare a seconda delle risposte dell'utente.
Con ASP.NET 2.0, si può utilizzare un nuovo controllo, il MultiView, che semplifica il lavoro e serve a visualizzare gruppi di controlli e nasconderne altri, a seconda delle esigenze.
Vediamo un esempio. Realizziamo un'applicazione che contiene un Multiview e 3 viste (View) al suo interno. Ciascuna vista raccoglierà alcuni elementi al suo interno.
Nel VWD, aggiungiamo un nuovo progetto e chiamiamolo Lezione11. Se non è già aperta, apriamo la finestra delle barre degli strumetni (Toolbox) con Crtl+Alt+X.
NOTA: Nel corso di questa guida, consideriamo come configurazione standard del VWD il mettere il codice lato server su un file a parte. Ne spiegheremo i motivi più avanti, nella prima lezione sui dati. Il linguaggio scelto è sempre C#, essendo il più recente ed anche consigliato dalla casa madre.
Torniamo al nostro esempio. Dal gruppo di controlli 'Standard', troviamo il nostro Multiview. Se siamo in Design view, basta un doppio click su di esso per portarlo all'interno della nostra pagina.
Posizioniamo il cursore all'interno del nuovo controllo e clicchiamo due volte View control, inseriamo così una prima vista all'interno del Multiview. Ancora 2 doppi click sul View control per posizionare un totale di 3 viste.
Lavorare sulle View.
Per questo esempio proviamo a realizzare la registrazione di un nuovo utente sul sito.
- Nella prima View mettiamo: Registrazione con Nome e Cognome.
- Nella seconda View, la data di nascita con la possibilità di cliccare sul calendario,
- nella terza View i ringraziamenti per la registrazione avvenuta con un pulsante di conferma con fine registrazione ed un pulsante di Cancella.
Gli eventi
Vogliamo ora realizzare un gestore di eventi unico per tutti i pulsanti presenti nel Multiview Con un doppio click su uno dei pulsanti, si passa alla parte codice e possiamo implementare il gestore dell'evento Click di quel pulsante. Vediamo come modificare il gestore in modo che gestisca tutti i pulsanti:
Si tratta di assegnare a tutti i pulsanti lo stesso gestore e di capire nel codice quale sia il pulsante premuto. Quindi andiamo sulle proprietà di ciascun pulsante e assegnamo a Eventi (Events) il gestore Tutti_Button_Click.
Impostiamo ora la proprietà ActiveViewIndex del nostro MultiView a 0, in modo che venga visualizzato il primo View al caricamento della pagina.
Test
A questo punto siamo pronti per testare la nostra applicazione. Premiamo F5. Accettiamo se necessario la generazione del web.config e vediamo il risultato:
Il MultiView necessita l'implementazione di pulsanti par passare da una View all'altra, ma c'è un altro controllo che ha in se, già presente, un menu di navigazione tra le varie schermate: Wizard. Lo si può trovare nella barra degli strumenti 'Standard' del VWD, come il MultiView, ed ha, già implementato, un menu di navigazione diviso in Step.
I lettori più volenterosi possono, per esercizio, realizzare un esempio con il controllo Wizard.
Potete scaricare il sorgente dell'esempio della presente lezione da qui.
Se vuoi aggiornamenti su .NET inserisci la tua email nel box qui sotto:
