
guide
Tutti i linguaggi per diventare uno sviluppatore di app per Android.
I nuovi strumenti per l’accesso ai dati
Oggigiorno la maggior parte dei siti web hanno delle parti dinamiche ed hanno quindi la necessità di accedere a dei dati su database o su file XML. Molti di essi ha anche la necessità di visualizzare dei report con la possibilità di filtrarli, aggiungerli, modificarli ed eliminare delle voci, inoltre c’è chi necessita di viste supplementari ai dati riepilogati come prima istanza. In siti particolarmente complessi queste operazioni occupano, principalmente nella parte di back-end, quasi la totalità delle operazioni.
Si è quindi sentita l’esigenza di rendere lo sviluppo di queste pagine il più facile e veloce possibile sempre senza compromettere la sicurezza del sistema ed, allo stesso tempo, lasciando allo sviluppatore un alto grado di personalizzazione.
Nelle precedenti versioni di ASP.NET avevamo a disposizione tre controlli: il ‘Repeater‘, il ‘Datalist‘ ed il ‘Datagrid‘. Le limitazioni dei primi due portava quasi sempre all’utilizzo del ‘DataGrid’ e, in presenza di molte voci, ad una pagina ulteriore con un form per la modifica e gli inserimenti dei dati.
Il ‘Datagrid’ a sua volta non è di facile utilizzo in quanto, seppure supportate, le operazioni di filtro, paginazione, aggiornamento avevano bisogno di una quantità consistente di codice da scrivere per ogni singola necessità. Questi controlli, sebbene ancora presenti nella versione 2.0 di ASP.NET per compatibilità con il passato, sono stati rivisti e migliorati.
Nella nuova versione di ASP troviamo il controllo ‘GridView‘, evoluzione di ‘DataGrid’, il controllo ‘DetailsView‘ ed il controllo ‘FormView‘. A questi dobbiamo aggiungere il controllo ‘Treeview’, utile per creare degli alberi di dati da molteplici sorgenti, ed il controllo ‘Menu’, generatore dinamico di menù a cascata compatibili con la maggiorparte dei browser in circolazione.
Per semplificare ancora dipiù il processo le istruzioni che i nuovi oggetti possonoeseguire sono state separate dai nuovi controlli visti in precedenza,che a conti fatti si occupano della mera visualizzazione dei dati, indei nuovi controlli ‘DataSource‘. Di questiparticolari controlli ne sono stati resi disponibili all’interno delFramework.NET cinque e sono:
L’ ‘ObjectDataSource‘ è probabilmente il ‘DataSource’ più importante perché ci consente di spostare tutte le operazioni di accesso ai dati in un livello superiore, così saremo in grado di modificare il comportamento delle nostre pagine senza la loro modifica diretta. Cosa molto più complessa da fare in ASP.NET 1.x. La prima cosa che si può notare guardando il codice di una pagina con i nuovi controlli è la possibilità di spostare tutta la logica di programmazione all’intero del corpo HTML nei tag ASPX.
Gli oggetti ‘DataSource’definiscono al loro interno i comandi SQL per la selezione,l’inserimento, l’aggiornamento e la cancellazione dei dati in più,attraverso l’utilizzo dei nuovi oggetti ‘Parameter‘,sono in grado di associare dei parametri a tutte e quattro leoperazioni. I nuovi oggetti ‘Parameter’ sono:
Tutti questi parametri hanno una proprietà ‘DefaultValue’ che permette di impostare un valore di base nel caso in cui il parametro specificato non restituisse niente. Inoltre, nei controlli ‘DataSource’ che necessitano di una connessione con la base dati sarà sufficiente specificare attraverso la nuova sintassi <%$ %>
<asp:SqlDataSource id=”SqlDataSource1″ runat=”server” ConnectionString=”<%$ ConnectionStrings:AdventureWorksConnectionString1 %>” />
una stringa di connessione dichiarata all’interno del Web.Config:
<connectionStrings>
<add
name=”AdventureWorksConnectionString1″
connectionString=”Data Source=DESKTOPSqlExpress;Initial
Catalog=AdventureWorks;Integrated Security=True”
providerName=”System.Data.SqlClient”
/>
</connectionStrings>
senza dover aprire una connessione esplicita con essa. In questo modo il sistema la effettuerà al momento opportuno e la chiuderà subito dopo, rendendo più sicuro e veloce il processo.
Tra le innumerevoli funzioni implementate da ‘DataSource’ vi è quella del controllo dei conflitti di concorrenza. Potremo segnalare in tempo reale ad un utente se il dato che sta modificando è stato modificato da un altro utente durante la sua editazione. In questo modo potremo utilizzare un tipo di concorrenza ottimistica senza incorrere nel rischio di inserire ‘dati sporchi’ all’interno della nostra base dati.
Adesso che abbiamo capito in che modo i controlli ‘DataSource’ modificano radicalmente il modo di scrivere le nostre applicazioni WEB vediamo in che modo ‘GridView’ ha risolto e superato i limiti di ‘DataGrid’. ‘GridView’ incorpora in maniera nativa la paginazione e il filtro dei campi, ed è anche possibile definire il comportamento visivo di ogni singolo oggetto componente la fase di paginazione oltre ad un migliore supporto dei fogli di stile.
Ma la vera potenza di ‘GridView’ si apprezza quando viene utilizzato in coppia con uno o più controlli ‘DetailView’. Il ‘DetailView‘ crea un form del tutto simile ad un form di Microsoft Access. Al programmatore basterà definire il nome dei campi ed il loro tipo ed il controllo, grazie alla presenza del controllo ‘DataSource’, genererà tutto ciò che serve. L’unione con un ‘GridView’ permette di estendere le funzioni di semplice visualizzazione con delle funzioni di editing molto più complesse con una quantità di codice aggiuntivo minimo se pensiamo che per fare la stessa cosa in ASP.NET 1.x era necessaria la scrittura di una nuova pagina con tutti i relativi controlli.
Il controllo ‘FormView‘ è del tutto simile a ‘DetailView’ con la sola eccezione che viene lasciato al programmatore il compito di definire la struttura o template con il quale verrà visualizzato.
Per ogni singolo campo dei controlli ‘GridView’, ‘DetailView’ e ‘FormView’ è possibile specificare un valore da visualizzare nel caso in cui il valore da visualizzare sia ‘Null’ (‘Nothing’). Per evitare confusione e/o incongruenze tra i vari ‘Null’, ‘DbNull’ e stringhe vuote è possibile chiedere ai ‘DataSource’ di convertire i diversi valori con i comandi ‘ConvertEmptyStringToNull‘ e ‘ConvertNullToDbNull‘.
Il lavoro di aggiornamento della parte di accesso ai dati non poteva mancare di un pesante restyling delle funzioni di ‘DataBinding’. Il vecchio ‘DataBinder.Eval‘ è stato relegato a funzioni di nicchia, al suo posto è arrivato il più semplice metodo ‘Eval‘. Inoltre è arrivato il comando ‘Bind‘, comando bidirezionale che permette di effettuare operazioni di modifica all’interno del controllo di accesso ai dati. Con ‘Bind’ sarà possibile, per esempio, inserire e gestire un ‘DropDownList’ all’interno di un ‘EditItemTemplate‘ di un ‘GridView’ senza codice aggiuntivo!!
È anche possibile effettuare il ‘DataBinding’ direttamente sul codice contenuto nella parte HTML di una pagina ASPX, sia esso del semplice codice HTML che dei controlli lato server attraverso la sintassi <%# %>
Con questi nuovi controlli la Microsoft ha mantenuto fede alla sua promessa di facilitare il compito degli sviluppatori e di rendere le righe di codice necessario per la visualizzazione e la gestione dei dati minore fino al 90% rispetto al suo predecessore. Se questo non bastasse Visual Web Developer (VWD) è in grado di aiutarci con degli avanzatissimi wizard che scriveranno per noi tutto il codice di cui abbiamo bisogno in modo chiaro e semplice per una futura modifica manuale.
Per vedere VWD in azione basterà trascinare in modalità visuale un ‘GridView’ dalla ‘Toolbox’ su una pagina ASPX. Da qui potremo creare o associare un ‘DataSource’, selezionare o aggiungere la stringa di connessione, creare le istruzioni SQL ed i parametri necessari. Cambiare lo stile di visualizzazione, inserire la paginazione ed il filtro, abilitare la selezione di una riga. Allo stesso modo possiamo inserire un ‘DetailView’ ed associare il suo ‘DataSource’ ad un campo del ‘GridView’ per visualizzare, editare, cancellare o inserire i dati. Passando alla modalità ‘Source’ vedremo che il codice generato è chiaro e pulito.
Se vuoi aggiornamenti su GridView & Co. inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
Retrogaming, sviluppare videogiochi nuovi per piattaforme “antiche”
Tutti i linguaggi per diventare uno sviluppatore di app per Android.
Come creare applicazioni per il Web con PHP e MySQL per il DBMS.
Tutte le principali tecnologie per diventare uno sviluppatore mobile per iOS.
I fondamentali per lo sviluppo di applicazioni multi piattaforma con Java.
Diventare degli esperti in tema di sicurezza delle applicazioni Java.
Usare Raspberry Pi e Arduino per avvicinarsi al mondo dei Maker e dell’IoT.
Le principali guide di HTML.it per diventare un esperto dei database NoSQL.
Ecco come i professionisti creano applicazioni per il Cloud con PHP.
Lo sviluppo professionale di applicazioni in PHP alla portata di tutti.
Come sviluppare applicazioni Web dinamiche con PHP e JavaScript.
Fare gli e-commerce developer con Magento, Prestashop e WooCommerce.
Realizzare applicazioni per il Web utilizzando i framework PHP.
Creare applicazioni PHP e gestire l’ambiente di sviluppo come un pro.
Percorso base per avvicinarsi al web design con un occhio al mobile.
Realizzare siti Web e Web application con WordPress a livello professionale.
Conversioni personalizzate tra classi, creare metodi particolari per le trasformazioni tra tipi
Utilizzare il controllo XMLDataSource e sfruttare il metodo XPath() di .NET
Cos’è e come funziona il controllo Repeater
Una guida per apprendere e migliorare le tecniche di programmazione di app destinate al mercato di Windows Store con C# e XAML, per raggiungere il livello di preparazione delle certificazioni Microsoft