SlideShare uma empresa Scribd logo
1 de 24
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 2
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 3
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? 4
Prerequisiti Tutticonosciamoverocos’è un Browser…(sicerto Lynx)…??? Browser Visuale Script Javascript Update Panel Update Progress Ajax Control Toolkit 5
Campanifacciamolo….sto Ajax! 6
Client Side Scripting – Script Blocks Esempio (01) : Vogliamomostrare/nascondere un DIV Come aggiungiamoilcodiceJavascript? Aggiungiamoilcodicejsnel markup Aggiungiamounareferenza al .jsnel markup…Guardiamoilcodice 7
CSS - Script Dinamici a Runtime Esempio (02) : Vogliamomostrare/nascondere un DIV a seguitodiunaregola Come aggiungiamoilcodiceJavascript? CiavvaliamodiRegisterClientScriptBlock…Guardiamoilcodice 8
CSS – Script Manager Esempio (03) : Vogliamomostrare/nascondere un DIV Come aggiungiamoilcodiceJavascript? Tramite lo ScriptManager. “Attentiall’overhead !!!”…Guardiamoilcodice 9
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 10
Ma dobbiamoreinventareognivolta la ruota??? 11
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 12
Creiamo un componente Ajax Cosaintendiamo per componente Ajax? Dobbiamoseguireiseguenti steps:  Registrazionedi un Namespace Creazionedellaclasse (ereditandodaSys.Component) Creazionedeicostruttori/distruttori Definizionedeimetodi e delleproprietà Registrazionedellaclasse Notificadicaricamento 13
Creiamo un componente Ajax Esempio (04) : Creiamo un PasswordStrengthComponent …Guardiamoilcodice 14
Creiamo un componente Ajax PRO: E’ mediamentecomplessodasviluppare E’ riutilizzabile in diversicontesti CONTRO: Non è adatto per l’utilizzo con icontrolli 15
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 16
Creiamo un Ajax Client Control Esempio (05) : Creiamo un PasswordStrengthClientControl …Guardiamoilcodice 17
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 18
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 19
Creiamo un Ajax Server Control Esempio (06) : Creiamo un PasswordStrengthServerControl …Guardiamoilcodice 20
Creiamo un Ajax Server Control PRO: Iper-Riutilizzabile!!! CONTRO: Abbastanzacomplessodascrivere Abbastanzacomplessodadebuggare 21
(Status : I’m Away)Domandine...? 22
Un grazie di cuore a tuttigli sponsor! 23
GraZIE PER L’ATTENZIONE La vostraopinione per noi è fondamentale: compilateil modulo di feedback! 24

Mais conteúdo relacionado

Mais procurados

ASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesAndrea Dottor
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Andrea Agnoletto
 
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVM
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVMRealizzare applicazioni cross-platform con Xamarin e il pattern MVVM
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVMCodemotion
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webAndrea Dottor
 
Silverlight 4 - Community Tour (RTM)
Silverlight 4 - Community Tour (RTM)Silverlight 4 - Community Tour (RTM)
Silverlight 4 - Community Tour (RTM)XeDotNet
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaAndrea Dottor
 
Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Andrea Dottor
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroAndrea Dottor
 
Blazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormBlazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormAndrea Dottor
 
Blazor - i limiti sono fatti per essere superati
Blazor - i limiti sono fatti per essere superatiBlazor - i limiti sono fatti per essere superati
Blazor - i limiti sono fatti per essere superatiCommit University
 
Il buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita feliceIl buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita feliceAndrea Dottor
 
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)Luca Milan
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Andrea Dottor
 
Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Fabrizio Bernabei
 
Creare API pubbliche, come evitare gli errori comuni
 Creare API pubbliche, come evitare gli errori comuni Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuniAndrea Dottor
 
Christmas greetings cards with blazor
Christmas greetings cards with blazorChristmas greetings cards with blazor
Christmas greetings cards with blazorNicolò Carandini
 
Xamarin Forms: one technology to rule them all - Matteo Pagani - Codemotion R...
Xamarin Forms: one technology to rule them all - Matteo Pagani - Codemotion R...Xamarin Forms: one technology to rule them all - Matteo Pagani - Codemotion R...
Xamarin Forms: one technology to rule them all - Matteo Pagani - Codemotion R...Codemotion
 
Wasm and Blazor CDays keynote
Wasm and Blazor CDays keynoteWasm and Blazor CDays keynote
Wasm and Blazor CDays keynoteNicolò Carandini
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiAndrea Dottor
 

Mais procurados (20)

ASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesASP.NET Core - Razor Pages
ASP.NET Core - Razor Pages
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?
 
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVM
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVMRealizzare applicazioni cross-platform con Xamarin e il pattern MVVM
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVM
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
 
Silverlight 4 - Community Tour (RTM)
Silverlight 4 - Community Tour (RTM)Silverlight 4 - Community Tour (RTM)
Silverlight 4 - Community Tour (RTM)
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
 
Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuro
 
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
 
Blazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormBlazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web Form
 
Blazor - i limiti sono fatti per essere superati
Blazor - i limiti sono fatti per essere superatiBlazor - i limiti sono fatti per essere superati
Blazor - i limiti sono fatti per essere superati
 
Il buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita feliceIl buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita felice
 
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
 
Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010
 
Creare API pubbliche, come evitare gli errori comuni
 Creare API pubbliche, come evitare gli errori comuni Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuni
 
Christmas greetings cards with blazor
Christmas greetings cards with blazorChristmas greetings cards with blazor
Christmas greetings cards with blazor
 
Xamarin Forms: one technology to rule them all - Matteo Pagani - Codemotion R...
Xamarin Forms: one technology to rule them all - Matteo Pagani - Codemotion R...Xamarin Forms: one technology to rule them all - Matteo Pagani - Codemotion R...
Xamarin Forms: one technology to rule them all - Matteo Pagani - Codemotion R...
 
Wasm and Blazor CDays keynote
Wasm and Blazor CDays keynoteWasm and Blazor CDays keynote
Wasm and Blazor CDays keynote
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi reali
 

Semelhante a Alessandro Forte - Realizzare controlli Ajax in ASP.Net

Alessandro Forte - ASP.NET per il client Web
Alessandro Forte - ASP.NET per il client WebAlessandro Forte - ASP.NET per il client Web
Alessandro Forte - ASP.NET per il client WebAlessandro Forte
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineDavide Benvegnù
 
Lavorare con applicazioni Brownfield: il caso di 39x27.com
Lavorare con applicazioni Brownfield: il caso di 39x27.comLavorare con applicazioni Brownfield: il caso di 39x27.com
Lavorare con applicazioni Brownfield: il caso di 39x27.comSimone Chiaretta
 
Rich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsRich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
 
ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?Giorgio Di Nardo
 
Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3
Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3
Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3marcocasario
 
Rich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e JavaRich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e Javamarcocasario
 
Adobe TechConnection: Flex Best Practices
Adobe TechConnection: Flex Best PracticesAdobe TechConnection: Flex Best Practices
Adobe TechConnection: Flex Best Practicesmarcocasario
 
Sviluppo e deployment cross-platform: Dal mobile alla Tv
Sviluppo e deployment cross-platform: Dal mobile alla Tv Sviluppo e deployment cross-platform: Dal mobile alla Tv
Sviluppo e deployment cross-platform: Dal mobile alla Tv Codemotion
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIAdiodorato
 
Spring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis WebSpring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis WebMassimiliano Dessì
 
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue jsGianfranco Castro
 
Enterprise Spring and Flex applications
Enterprise Spring and Flex applicationsEnterprise Spring and Flex applications
Enterprise Spring and Flex applicationsmarcocasario
 
Designing Flex and AIR applications
Designing Flex and AIR applicationsDesigning Flex and AIR applications
Designing Flex and AIR applicationsmarcocasario
 

Semelhante a Alessandro Forte - Realizzare controlli Ajax in ASP.Net (20)

Alessandro Forte - ASP.NET per il client Web
Alessandro Forte - ASP.NET per il client WebAlessandro Forte - ASP.NET per il client Web
Alessandro Forte - ASP.NET per il client Web
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio Online
 
XPages Tips & Tricks, #dd13
XPages Tips & Tricks, #dd13XPages Tips & Tricks, #dd13
XPages Tips & Tricks, #dd13
 
#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2
 
Lavorare con applicazioni Brownfield: il caso di 39x27.com
Lavorare con applicazioni Brownfield: il caso di 39x27.comLavorare con applicazioni Brownfield: il caso di 39x27.com
Lavorare con applicazioni Brownfield: il caso di 39x27.com
 
Rich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsRich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.js
 
Owasp parte1-rel1.1
Owasp parte1-rel1.1Owasp parte1-rel1.1
Owasp parte1-rel1.1
 
07 - Web apps e CMS
07 - Web apps e CMS07 - Web apps e CMS
07 - Web apps e CMS
 
ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?
 
Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3
Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3
Developing AJAX pages using the Adobe Spry framework in Dreamweaver CS3
 
Corso Javascript
Corso JavascriptCorso Javascript
Corso Javascript
 
Rich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e JavaRich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e Java
 
Adobe TechConnection: Flex Best Practices
Adobe TechConnection: Flex Best PracticesAdobe TechConnection: Flex Best Practices
Adobe TechConnection: Flex Best Practices
 
Sviluppo e deployment cross-platform: Dal mobile alla Tv
Sviluppo e deployment cross-platform: Dal mobile alla Tv Sviluppo e deployment cross-platform: Dal mobile alla Tv
Sviluppo e deployment cross-platform: Dal mobile alla Tv
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIA
 
Spring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis WebSpring E Spring Web Flow Nel Progetto Jug Avis Web
Spring E Spring Web Flow Nel Progetto Jug Avis Web
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Ddive Xpage852
 
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue js
 
Enterprise Spring and Flex applications
Enterprise Spring and Flex applicationsEnterprise Spring and Flex applications
Enterprise Spring and Flex applications
 
Designing Flex and AIR applications
Designing Flex and AIR applicationsDesigning Flex and AIR applications
Designing Flex and AIR applications
 

Mais de Alessandro Forte

Alessandro Forte - Windows Vista 4 Dev - Parte 1
Alessandro Forte - Windows Vista 4 Dev - Parte 1Alessandro Forte - Windows Vista 4 Dev - Parte 1
Alessandro Forte - Windows Vista 4 Dev - Parte 1Alessandro Forte
 
Alessandro Forte - Windows Vista 4 Dev - Parte 2
Alessandro Forte - Windows Vista 4 Dev - Parte 2Alessandro Forte - Windows Vista 4 Dev - Parte 2
Alessandro Forte - Windows Vista 4 Dev - Parte 2Alessandro Forte
 
Alessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVCAlessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVCAlessandro Forte
 
Alessandro Forte - Model View Presenter
Alessandro Forte - Model View PresenterAlessandro Forte - Model View Presenter
Alessandro Forte - Model View PresenterAlessandro Forte
 
Alessandro Forte - Piattaforma Android
Alessandro Forte - Piattaforma AndroidAlessandro Forte - Piattaforma Android
Alessandro Forte - Piattaforma AndroidAlessandro Forte
 

Mais de Alessandro Forte (6)

ORM - Introduzione
ORM - IntroduzioneORM - Introduzione
ORM - Introduzione
 
Alessandro Forte - Windows Vista 4 Dev - Parte 1
Alessandro Forte - Windows Vista 4 Dev - Parte 1Alessandro Forte - Windows Vista 4 Dev - Parte 1
Alessandro Forte - Windows Vista 4 Dev - Parte 1
 
Alessandro Forte - Windows Vista 4 Dev - Parte 2
Alessandro Forte - Windows Vista 4 Dev - Parte 2Alessandro Forte - Windows Vista 4 Dev - Parte 2
Alessandro Forte - Windows Vista 4 Dev - Parte 2
 
Alessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVCAlessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVC
 
Alessandro Forte - Model View Presenter
Alessandro Forte - Model View PresenterAlessandro Forte - Model View Presenter
Alessandro Forte - Model View Presenter
 
Alessandro Forte - Piattaforma Android
Alessandro Forte - Piattaforma AndroidAlessandro Forte - Piattaforma Android
Alessandro Forte - Piattaforma Android
 

Alessandro Forte - Realizzare controlli Ajax in ASP.Net

  • 1. Realizzarecontrolli AJAX Alessandro Forte “Audaces .NET iuvat”( .NET aiuta gli audaci  )
  • 2. 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 2
  • 3. 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 3
  • 4. 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? 4
  • 5. Prerequisiti Tutticonosciamoverocos’è un Browser…(sicerto Lynx)…??? Browser Visuale Script Javascript Update Panel Update Progress Ajax Control Toolkit 5
  • 7. Client Side Scripting – Script Blocks Esempio (01) : Vogliamomostrare/nascondere un DIV Come aggiungiamoilcodiceJavascript? Aggiungiamoilcodicejsnel markup Aggiungiamounareferenza al .jsnel markup…Guardiamoilcodice 7
  • 8. CSS - Script Dinamici a Runtime Esempio (02) : Vogliamomostrare/nascondere un DIV a seguitodiunaregola Come aggiungiamoilcodiceJavascript? CiavvaliamodiRegisterClientScriptBlock…Guardiamoilcodice 8
  • 9. CSS – Script Manager Esempio (03) : Vogliamomostrare/nascondere un DIV Come aggiungiamoilcodiceJavascript? Tramite lo ScriptManager. “Attentiall’overhead !!!”…Guardiamoilcodice 9
  • 10. 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 10
  • 12. 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 12
  • 13. Creiamo un componente Ajax Cosaintendiamo per componente Ajax? Dobbiamoseguireiseguenti steps: Registrazionedi un Namespace Creazionedellaclasse (ereditandodaSys.Component) Creazionedeicostruttori/distruttori Definizionedeimetodi e delleproprietà Registrazionedellaclasse Notificadicaricamento 13
  • 14. Creiamo un componente Ajax Esempio (04) : Creiamo un PasswordStrengthComponent …Guardiamoilcodice 14
  • 15. Creiamo un componente Ajax PRO: E’ mediamentecomplessodasviluppare E’ riutilizzabile in diversicontesti CONTRO: Non è adatto per l’utilizzo con icontrolli 15
  • 16. 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 16
  • 17. Creiamo un Ajax Client Control Esempio (05) : Creiamo un PasswordStrengthClientControl …Guardiamoilcodice 17
  • 18. 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 18
  • 19. 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 19
  • 20. Creiamo un Ajax Server Control Esempio (06) : Creiamo un PasswordStrengthServerControl …Guardiamoilcodice 20
  • 21. Creiamo un Ajax Server Control PRO: Iper-Riutilizzabile!!! CONTRO: Abbastanzacomplessodascrivere Abbastanzacomplessodadebuggare 21
  • 22. (Status : I’m Away)Domandine...? 22
  • 23. Un grazie di cuore a tuttigli sponsor! 23
  • 24. GraZIE PER L’ATTENZIONE La vostraopinione per noi è fondamentale: compilateil modulo di feedback! 24