240 likes | 381 Views
Realizzare controlli AJAX. Alessandro Forte “ Audaces .NET iuvat ” ( .NET aiuta gli audaci ). Chi sono. Alessandro Forte Dove trovarmi : WebSite : http://www.alessandroforte.it/ E-Mail : forte.alessandro83@gmail.com MSN : forte_alessandro@hotmail.com
E N D
Realizzarecontrolli AJAX Alessandro Forte “Audaces .NET iuvat”( .NET aiuta gli audaci )
Chi sono Alessandro Forte Dove trovarmi : WebSite : http://www.alessandroforte.it/ E-Mail : forte.alessandro83@gmail.com MSN : forte_alessandro@hotmail.com e ovviamentesu DOTNETCAMPANIA !!! MCTS - ASP. NET on Framework 3.5 Project Lead @ MerqurioPharma
Agenda • Elencodegliargomentiaffrontatidurante la sessione • Perchè Ajax e prerequisiti per sviluppare in Ajax • Client Side Scripting • Microsoft Ajax Library • Creiamo un Ajax Client Control • Creiamo un Ajax Server Control
Perchè Ajax? PRO • AJAX è una tecnica multi-piattaforma • si ottengono applicazioni più veloci (minori dati elaborati) • E’ più UserFriendly………..ehm….è più bello :D CONTRO • Da testare su tutti i browsers • Deve esserci Javascript nel client • Il tasto indietro … ma chi se ne frega?
Prerequisiti Tutticonosciamoverocos’è un • Browser…(sicerto Lynx)…??? • Browser Visuale • Script Javascript • Update Panel • Update Progress • Ajax Control Toolkit
Client Side Scripting – Script Blocks Esempio (01) : Vogliamomostrare/nascondere un DIV Come aggiungiamoilcodiceJavascript? • Aggiungiamoilcodicejsnel markup • Aggiungiamounareferenza al .jsnel markup…Guardiamoilcodice
CSS - Script Dinamici a Runtime Esempio (02) : Vogliamomostrare/nascondere un DIV a seguitodiunaregola Come aggiungiamoilcodiceJavascript? • CiavvaliamodiRegisterClientScriptBlock…Guardiamoilcodice
CSS – Script Manager Esempio (03) : Vogliamomostrare/nascondere un DIV Come aggiungiamoilcodiceJavascript? Tramite lo ScriptManager. “Attentiall’overhead !!!”…Guardiamoilcodice
CSS – Cosascegliere? Neicasi in cui il “codice” è statico : • File .jsreferenziatotramite tag <script> Neicasi in cui il “codice” è dinamico : • Script caricatotramiteRegisterClientScriptBlock Neicasi in cui dobbiamointeragire con Ajax o con codicejspresente in degli Assembly: • File .jscaricatotramiteScriptManager
Microsoft Ajax Library Perchè è tantoimportante? • E’ un wrapper cheoffre un modo object oriented per sviluppare con Javascript Qualifunzionalitàmette a disposizione? • Namespaces, classi, costruttori, metodi, proprietà, ecc… • Browser compatibility … in fondo è Javascript • Debugging e Globalization
Creiamo un componente Ajax Cosaintendiamo per componente Ajax? Dobbiamoseguireiseguenti steps: • Registrazionedi un Namespace • Creazionedellaclasse (ereditandodaSys.Component) • Creazionedeicostruttori/distruttori • Definizionedeimetodi e delleproprietà • Registrazionedellaclasse • Notificadicaricamento
Creiamo un componente Ajax Esempio (04) : Creiamo un PasswordStrengthComponent …Guardiamoilcodice
Creiamo un componente Ajax PRO: • E’ mediamentecomplessodasviluppare • E’ riutilizzabile in diversicontesti CONTRO: • Non è adatto per l’utilizzo con icontrolli
Creiamo un Ajax Client Control Cosaintendiamo per Ajax Client Control? Dobbiamoseguireiseguenti steps: • Registrazionedi un Namespace • Creazionedellaclasse (ereditandoquestavoltadaSys.UI.Control) • Creazionedeicostruttori/distruttori • Definizionedeimetodi e delleproprietà • Registrazionedellaclasse • Notificadicaricamento • Associazione ad un controllolato server tramitejavascript
Creiamo un Ajax Client Control Esempio (05) : Creiamo un PasswordStrengthClientControl …Guardiamoilcodice
Creiamo un Ajax Client Control PRO: • Incapsula la logicadi business del controllo • Puòestendere le funzionalitàdi un elemento del DOM • Puòestendere le funzionalitàdi un controllolato server (anche se esistonogli Extender per questo) CONTRO: • E’ necessarioscrivereulteriorecodicejsnel markup dellapaginaospite • E’ pocoriutilizzabile
Creiamo un Ajax Server Control Cosaintendiamo per Ajax Server Control? Dobbiamoseguireiseguenti steps lato Client: • Registrazionedi un Namespace • Creazionedellaclasse (ereditandoquestavoltadaSys.UI.Control) • Creazionedeicostruttori/distruttori • Definizionedeimetodi e delleproprietà • Registrazionedellaclasse • Notificadicaricamento • Associazione ad un controllolato server tramitejavascript Dobbiamoseguireiseguenti steps lato Server: • Creazione del controllo • Definizionedell’interfacciaIScriptControl • Definizione dei metodi GetScriptDescriptors eGetScriptReferences
Creiamo un Ajax Server Control Esempio (06) : Creiamo un PasswordStrengthServerControl …Guardiamoilcodice
Creiamo un Ajax Server Control PRO: • Iper-Riutilizzabile!!! CONTRO: • Abbastanzacomplessodascrivere • Abbastanzacomplessodadebuggare
La vostraopinione per noi è fondamentale: compilateil modulo di feedback! GraZIE PER L’ATTENZIONE