Introduction to .NET and ASP.NET Framework

Slides:



Advertisements
Presentazioni simili
Trieste, 26 novembre © 2005 – Renato Lukač Using OSS in Slovenian High Schools doc. dr. Renato Lukač LinuxDay Trieste.
Advertisements

Cache Memory Prof. G. Nicosia University of Catania
Elaborazione di Franco Grivet Chin
Sviluppare workflow per il nuovo 2007 Microsoft Office system e Windows SharePoint Services 3.0 Paolo Pialorsi
Midrange Modernization Conference 1 Scenari evolutivi per le soluzioni basate su AS/400 Walter Poloni Direttore Developer & Platform Evangelism Microsoft.
1 Teaching Cloud Computing and Windows Azure in Academia Domenico Talia UNIVERSITA DELLA CALABRIA & ICAR-CNR Italy Faculty Days 2010.
Luca Bianchi Windows Development Day Bologna 28 gennaio 2005 SQL Server Desktop Engine (MSDE) & SQL Server 2005 Express.
Sql Server 2005 Reporting Services - Sviluppo Franco Perduca Factory Software
ASP.NET – Web Forms Davide Vernole.NET MVP. Di cosa parleremo Introduzione ad ASP.NET ASP.NET, dietro le quinte Componenti principali di una applicazione.
Vincenzo Campanale PM Security & Management System Center, DSI e la Roadmap.
JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 ( Tentativo di unificare EJB2.1 con.
1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
E Windows SharePoint Services 2.0 Ivan Renesto Overview how to use Windows SharePoint Services.
Un DataBase Management System (DBMS) relazionale client/server.
Microsoft Robotics Studio Marco Petrucco Microsoft Student Partner - Udine.
EJB Enterprise Java Beans B. Pernici. Approccio Java.
Model – View - Controller
Unified Modeling Language class C {…} class B extends C {…} Esiste una notazione grafica per mostrare le relazioni di ereditarietà. Object StringC B Tutte.
J0 1 Marco Ronchetti - Corso di Formazione Sodalia – Febbraio 2001 – Modulo Web Programming Tomcat configuration.
Directory services Directory offline –Elenchi telefonici –Guide TV –Cataloghi acquisti Directory online –Application specific (lotus notes, MS Exchange.
Biometry to enhance smart card security (MOC using TOC protocol)
Costruzione di Interfacce Lezione 10 Dal Java al C++ parte 1
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
Fanno ormai parte della nostra vita di tutti i giorni….
Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 3 - Functions Outline 3.1Introduction 3.2Program Components in C++ 3.3Math Library Functions 3.4Functions.
Università La Sapienza Ingegneria del Software I 1 Ingegneria del software I Seminario 2: Microsoft.NET.
Introduzione a AJAX - Asynchronous Javascript And Xml
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
Introduzione ad ASP.net
Progettare siti con ASP.net
Componenti dell’architettura Oracle
SQL Server 2012 LocalDB.
realizzazione app per Google Android OS
Palermo, may 2010 F.Doumaz, S.Vinci (INGV-CNT- Gruppo di telerilevamento)
1 © 2013 Cobra Italia SpA All rights reserved Cobra group website Gennaio 2013.
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Filtered Index and Statistics Filtered Indexes Sergio Govoni
Project Review byNight byNight December 6th, 2011.
WPF per il client Desktop
Fabio Cozzolino Vito Arconzo
Attribution-NonCommercial-ShareAlike Le novità
Attribution-NonCommercial-ShareAlike Le novità
Scoprirete che su Office non si può solo contare ma anche sviluppare.
IIS7 Media Services Piergiorgio Malusardi IT Pro Evangelist
VB.NET Sviluppo Applicazioni Desktop
Visual Studio Tools for Office: Developer Solutions Platform Fulvio Giaccari MCSD.NET / MCT Responsabile Usergroup ShareOffice Blog:
SQL Server 2005 Sicurezza Davide Mauri Factory Software
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 21th, 2011.
Project Review byNight byNight December 6th, 2011.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 5th, 2011.
Giovedì 17 Aprile 2008 Heroes {Community} Launch Giovedì 17 Aprile 2008.
Analysis and Development of Functions in REST Logic: Application to the «DataView» Web App UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA DIPARTIMENTO.
Negli ultimi anni, la richiesta di poter controllare in remoto la strumentazione e cresciuta rapidamente I miglioramenti nell’hardware e nel software insieme.
Collection & Generics in Java
Introduction to automatic ABMs documentation Keywords: Doxygen ODD protocol MASON documentation Simone Romano.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
SQL Developer Lanciare sqldeveloper (alias sul desktop) / c:\Oracle\sqldeveloper Associare tutti i tipi di file, se volete Tasto destro sulla spina “connection”
Azure: Mobile Services e Notification Hub ANDREA GIUNTA.
Dynamic SQL.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Nuove funzionalitA’ e caratteristiche del linguaggio
Ajax.ptt 1 Asynchronous JavaScript and XML cross-browser XMLHttpRequest()standard w3c firefox,opera,gchrome ActiveXObject("Microsoft.XMLHTTP") ActiveXObject("Msxml2.XMLHTTP")
Asynchronous JavaScript and XML
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Free .NET Hosting - somee.com
Transcript della presentazione:

Introduction to .NET and ASP.NET Framework Politecnico di Torino December 4th , 2007 Mauro Minella mauro.minella@microsoft.com http://blogs.msdn.com/mauromi Microsoft Certified Solutions Developer Microsoft Certified Systems Engineer + Internet

Agenda .NET Framework: architecture WEB extension: ASP.NET 2.0 Development Tools: Visual Studio 2008 Membership: roles and controls Localization, Master Pages, Skins and Themes AJAX Demo’s/Examples

From HTML to ASP.NET ASP.NET ASP pages CGI apps ISAPI filters HTML

.NET and ASP.NET architecture Win32 SDK .NET Framework ASP.NET Unmanaged Applications Windows Managed Applications (Win Forms, Console, Services, ...) WEB Managed Applications (WEB Forms / WEB Services) Base Class Library Base Class Library Common Language Runtime Common Language Runtime WEB Server (IIS) Sistema Operativo (Windows) CLR interoperability, security, garbage collection, versioning, ... Class Library GUI, collections, threads, networking, reflection, XML, ... WEB Forms Web GUI (object-oriented, event-based, browser-independent) WEB Services Distributed services over RPC (SOAP, HTTP)

.NET FRAMEWORK PROGRAMMING Binary compatibility for all languages Isolated code (only to allowed memery access) Codice type-safe (no buffer overrun) Just-in-time compiler C# if (a > b) max = a; else max = b; C# C++ VB J# ... IL IL_0004: ldloc.0 IL_0005: ldloc.1 IL_0006: ble.s IL_000c IL_0008: ldloc.0 IL_0009: stloc.2 IL_000a: br.s IL_000e IL_000c: ldloc.1 IL_000d: stloc.2 compiler compiler compiler compiler compiler IL code (+ metadata) loader Intel code mov ebx,[-4] mov edx,[-8] cmp ebx,edx jle 17 mov [-12],ebx ... verifier JIT compiler machine code

Indipendence from platform and code langauge .NET is a CLI implementation Common Language Infrastructure CLI is an ECMA standard, defined with the C# ECMA-334, ECMA-335 Existing CLI implementations: SSCLI (Microsoft per Windows, FreeBSD and Macintosh) Mono (for Linux) DotGNU Intel OCL (Open CLI Library) …

ViewState Keeps the state at Page level It’s a name/value dictionary It’s a Hidden field of the page Can also be used programmatically ViewState.Add(“NomeUtente”, “Mauro”) Can be disabled at page level <%@ Page ... EnableViewState="false"%> Be aware: some controls might not work any more!

PostBack Tipical usage: code optimiza- tion for accessing hi cost (like DB) resources just once IsPostBack property is true since second time on Page_Load happens when Button Submit Server-side controls with enabled AutoPostBack Can be used to initialize controls protected void Page_Load(..) { if(Page.IsPostBack == false) // It’s the first access // Let’s open the DB connection! } }

DEMO Let’s build our first ASP.NET application! Development Tool: Microsoft Notepad A .aspx page tipically has 3 sections: Page directives: environment setup, controls registration, assemblies load if not in GAC, namespace registration, code language declaration Code section: server side business logic; can be in-lin or separated Page layout: page scheleton, including server side controls, text, HTM tags

Let’s build our first application (cont.) Create an empty.ASPX file Prepare scheleton Add controls Make controls server-side ASP.NET runtime parses the page and creates instances of .NET framework classes for every control where runat = “server” Add: Click even handler: OnServerClick="MakeItUpper" Chosen Language: <% @Page Language="C#"%> C#, VB o C++ code (which is not sent to the client!)

Introduction a Visual Studio / VWD Free download from Microsoft website http://www.microsoft.com/italy/msdn/prodotti/vs2005/editions/download/wdd.mspx Let’s explore the IDE Let’s create a Web Site Controls and base features Server-side controls whose output depends on client Diagnostics page life cycle

IDE

Controls Controlli HTML: Server-side controls Standard HTML <a >..., <label>... Server-side controls Generated HTML depends on browser They are tens!! Let’s look at some of them…

Validators RequiredFieldValidator ValidatorSummary RangeValidator Server-side controls to validate input They check if the browser supports client-side validation and in this case send JScript to it RequiredFieldValidator ValidatorSummary RangeValidator RegularExpressionValidator CompareValidator CustomValidator (can also be used to send a JS function back)

Demo Validators

Debugging (Server-side) Enabled within the web.config file

Debugging (Javascript) A few more steps: Use browser settings: Tools – Internet Options - Advanced You can run debugger from IE and then set a breakpoint on javascript code Or from Visual Studio “attach to process” to IE process Not supported on “Express” versions “Trick”: “debugger;” instruciton in the JS code Remember not to leave in production! server-side vs. client-side: OnServerClick  OnClick (you can have both!) <script runat="server">  <script language="javascript" type="text/javascript"> Linguaggio vb.net/c#/c++/j#/f#/cobol.net/…  javascript syntax Il postback happens only if the function returns TRUE

Pagina Life Cycle (hi level view) PreInit: use it to: Check IsPostBack property Create dynamic controls Apply themes and master pages dynamically Read/write user profiles Init: read and initialize control properties Load: read and update control properties PreRender: change page contents UnLoad: fianal closing tasks

Tracing In you need to write a trace information: Can be enabled in the web.config or on page level pageOutput enables output to page or by using trace <trace enabled="true" pageOutput="false" /> <%@ Page Language="C#" ... Trace="true"%> In you need to write a trace information: Trace.Write (categoria, messaggio, eccezione); Trace.Warn (categoria, messaggio, eccezione); Trace.Write (messaggio); ...

Trace example

Membership, roles and log-in controls Authentication and Permissions

Authentication: scenarios Identify who is accessing our web site Two tipical scenarios: Intranet: can leverage integrated server control access e.g. IIS uses Integrated Authentication Tipically, users are hosted within the Active Directory Users do not need to provide credentials explicitly Internet: can leverage a database to store users and permissions Users must provide username and password

Un modello estendibile Authentication: an extensibile model Un modello estendibile Controls Login LoginStatus LoginView Other Login Controls Membership API Membership MembershipUser Membership Providers AspNetSqlMembershipProvider Other Membership Providers Membership Data SQL Server Other Data Stores

Log-in controls Interact with a provider for membership management Login: allows to do a login providing username + pwd LoginView: allows different content for authenticated and not-authenticated users PasswordRecovery: leverage the secret question to regenerate password LoginStatus: to check is the user is logged or not LoginName: provides the current logged user ChangePassword: to change password CreateUserWizard: to save time in writing lot of code!

Using Web Site Administration tool (WSA) Parameters are stored in the web.config file Authentication type SMTP server, tracing, debugging, errors, ... Users handler Create, Delete, Update ... Roles and access rules management Folder by folder Provider configuration to access database Can be used through a 7-steps Wizard

WSA: Security section

Membership API by code MembershipCreateStatus ms; MembershipUser user=Membership.CreateUser(     “mauro",     “Password1!",     “mauro.minella@microsoft.com",     “Colore preferito?",     “Blu",     true,out ms); if (user==null)   Label1.Text = "Non è possibile creare un utente"; else   Label1.Text = "Utente creato"; if (Membership.ValidateUser(username.Text, password.Text))   FormsAuthentication.RedirectFromLoginPage(username.Text, false); else   Label1.Text = "Username e password non corretti";

Demo Web Site Creation: Leverage integrated controls Login, LoginName and LoginStatus controls Leverage WSA to create users and groups Leverage IIS Manager to configure WEB server

Localizzazione, Temi, Skin e Pagine Master Come creare una grafica del sito omogenea e consistente

Localizzazione Usa file di risorse selezionati a run-time da ASP.NET Due cartelle: App_LocalResources: i file contengono risorse per una singola pagina App_GlobalResources: i file possono essere letti da qualsiasi pagina del sito Web Indicazione della localizzazione nelle direttive di pagina UICulture="auto" Naming convention per la pagina: linguaggio neutrale: pagina.aspx.resx linguaggio specifico (es. italiano): pagina.aspx.it.resx Naming convention per le risorse: meta:resourcekey="ResourceXYZ" nelle proprietà controllo (tag HTML) Name=ResourceXYZ.<Proprietà> e Value=Valore nei file <page>.resx e <page>.<language>.resx Impostare nel browser del client lingua e priorità Tipi di risorse: stringhe, immagini, audio, file, icone, altro DEMO

Temi (CSS e Skin) Definiscono la grafica della pagina Sono un superset dei CSS (Cascading Style Sheets) Sono disponibili solo in ASP.NET 2.0 Assegnano un insieme di stili e attributi visuali agli elementi personalizzabili del sito Sono strettamente legati ai temi di XP: impostare un tema è rapido e facile come impostare una proprietà Si applicano controlli individuali, pagine o siti

Creazione di CSS Si usa un tool integrato nell’ ambiente, che si attiva dal menu “Stili” dopo avere aggiunto un file CSS

File di Skin - esempio Creo una cartella per ogni stile sotto App_Themes Creo un file per ogni skin nella cartella creata sopra In fondo ad ogni file .skin: <asp:label runat="server" backColor= "Green" SkinID="lblTitolo"/> Definisco uno SkinID altrimenti lo skin viene applicato a tutti i controlli di quel tipo, e lo seleziono nelle proprietà Imposto lo skin nella direttiva di pagina StylesheetTheme Seleziono lo SkinID per il controllo DEMO

Pagine Master Content Page

Pagine master Le pagine master definiscono la struttura e i placeholder (<asp:ContentPlaceHolder>) Le pagine “figlie” referenziano la master e creano il contenuto (<asp:Content>) Le pagine master sono trasparenti all’utente, il quale invoca solo le pagine content Site.master default.aspx http://.../default.aspx <%@ Master %> <asp:ContentPlaceHolder ID="Main" RunAt="server" /> <%@ Page MasterPage- File=“MasterPage.master" %> <asp:Content ContentPlaceHolderID= "Main" RunAt="server" /> </asp:Content>

La proprietà Page.Master Ottiene un riferimento alla pagina master dalla pagina figlia Usata per avere accesso programmatico al contenuto della pagina master Usare FindControl per weak typing Usere public property nella master page per strong typing

Accedere ad un Controllo della Master Page Weak Typing Nella master page… <asp:Label ID="Title" RunAt="server" /> Nella pagina figlia… ((Label) Master.FindControl ("Title")).Text = "Orders";

Accedere ad un Controllo della Master Page Strong Typing Nella master page… <asp:Label ID="Title" RunAt="server" /> . <script language="C#" runat="server"> public string TitleText { get { return Title.Text; } set { Title.Text = value; } } </script> Nella pagina figlia… Master.TitleText = "Orders";

Demo Master Pages Creazione di un sito ex-novo (vuoto) Aggiunta una pagina master Aggiunta di due pagine content che usano il template della pagina master

Sorgenti dati e controlli data-bound Evoluzione delle tecnologie di Data Access da ODBC a ADO.NET ADO.NET: lo stato dell’arte per l’accesso ai dati con il .NET framework Controlli Data-Bound Dataset: accesso a dati disconnessi

Evoluzione di accesso ai dati 1993 - ODBC (Open Database Connectivity): API uniforme per chiamate SQL a database server differenti 1997 - OLE DB: COM-based API per sorgenti dati esprimibili in forma tabellare il consumer e il provider comunicano attraverso COM Principale svantaggio: primariamente disegnato per C++ 1999 –ADO: automazione verso OLE DB vantaggio: usufruibile da via automation (VB5/6, VBA, ...) svantaggio: ridondanza ed efficienza 2001: ADO.NET: Modalità disconnessa del data binding (oggetto DataSet) Profonda integrazione con XML Integrazione con il resto del .NET framework e con Visual Studio .NET Prestazioni

Evoluzione di accesso ai dati ODBC (1993) Primo standard Dati relazionali OLE DB (1997) Potente Difficile ADO (1999) Automation Semplice Ridondanza ADO.NET (2001) Modalità disonnessa Integrazione .NET Prestazioni Backward compatibility

COM standard interfaces / C++ headers OLE DB Win32 Client VB/VBA .NET Client DLL OLEDB provider for SQL Server ADO.NET Modalità disconnessa del data binding (oggetto DataSet) Profonda integrazione con XML Integrazione con il resto del .NET framework e con Visual Studio .NET Prestazioni COM+ automation ADO via SQLDataSource .NET framework DLL OLEDB provider for ORACLE ADO.NET ADO.NET provider for SQL Server DLL OLEDB provider for Access ADO.NET provider for ORACLE ADO.NET provider for Access Sql Server ADO.NET provider for OLEDB Oracle Access

Controlli DataSource Approccio dichiarativo per ottenere i dati Nome Descrizione SQLDataSource Connects data-binding controls to SQL databases through ADO.NET data providers AccessDataSource Connects data-binding controls to Access databases XmlDataSource Connects data-binding controls to XML data ObjectDataSource Connects data-binding controls to data components SiteMapDataSource Connects site navigation controls to site map data

Provider OLE DB vs. Managed Implementazione interna: i provider .NET managed offrono un subset di interfacce rispetto a OLE DB Integrazione: i provider .NET managed usano tipi di dati del Framework .NET (no COM interop layer) Interazione diretta: i provider .NET managed parlano direttamente con i client, mentre i provider OLE DB sono wrappati da OLE DB Data source per ADO.NET: SQL Server OLE DB ODBC Oracle

Caching dei risultati <asp:SqlDataSource ID="Countries" RunAt="server" ConnectionString="server=localhost;database=northwind;..." SelectCommand="select distinct country from customers order by country" EnableCaching="true" CacheDuration="60" /> <asp:DropDownList ID="MyDropDownList" DataSourceID="Countries" DataTextField="country" AutoPostBack="true" RunAt="server" />

Controlli Data-bound Alcuni controlli hanno la capacità di collegarsi a sorgenti dati e di rappresentarne il contenuto: ListBox, BulletedList, RadioButtonList, CheckBoxList TreeView, Menu, FormView, GridView, DetailsView Datalist, Repeater Molte volte basta un semplice Drag & Drop ! Zero code !

ObjectDataSource Permette di creare applicazioni con uno strato in più per l’accesso ai dati È possibile inserire della business logic Il codice di accesso ai dati è separato dalla UI Binding bidirezionale SelectMethod, InsertMethod, UpdateMethod, and DeleteMethod Caching dei risultati opzionale Parametri

ACCESSO ai dati in modalità disconnessa DataSet Insieme disconnesso di viste associate ad un nome DataTable Rapppresenta una tabella di dati in memoria Data Adapter Ponte fra il data source e l’oggetto DataSet Serve per le operazioni di creazione del DataSet e aggiornamento del data source

DEMO – ADO.NET Creazione di un database SQL Server Express Creazione di un dataset e data adapter con un metodo pubblico Aggiunta controllo ObjectDataSource e associazione al dataset Aggiunta GridView e DetailsView con associazione al dataset Filtro griglia tramite DropDownList Inserimento tramite DetailsView Punti di debolezza indirizzabili con AJAX

ASP.NET AJAX Concetti e fondamenti

AJAX Che cos’è e come funziona Da dove partire AJAX ASP.NET Extensions 1.0 XMLHttpRequest : la base AJAX Control Toolkit AJAX Futures CTP

Cos’è AJAX? AJAX = Asynchronous JavaScript and XML Una nuova tecnica per lo sviluppo di applicazioni web Risolve molti dei problemi che affliggono le moderne applicazioni web Elimina il “flickering” delle pagine Usa XmlHttpRequest per recuperare dati dal server in modo asincrono e il JavaScript per aggiornare il contenuto della pagina Nasce con OWA (Outlook Web Access) Tecnologia abilitante per il Web 2.0

AJAX: Come funziona? Browser Web Server Il browser invia una richiesta HTTP al server 1 Browser Web Server Il server restituisce il contenuto. Il browser ne fa il rendereing 2 IL browser invia una richiesta asincrona XML-HTTP al server. La UI non si blocca e non ha effetti di flickering 3 La richiesta XML-HTTP si conclude. Il JavaScript aggiorna la porzione della pagina interessata 4

XmlHttpRequest Introdotto nel 1999 con Internet Explorer 5 Oggetto ActiveX per le chiamate di callback dal Web server In IE 7 fa parte del modello ad oggetti del browser Successivamente adottato da Firefox, Safari e altri In via di standardizzazione dal W3C http://www.w3.org/TR/XMLHttpRequest/ Supportatato oggi da circa il 99% dei browser Circa 85%-95% hanno abilitato il JavaScript

Instanziare XmlHttpRequest var xhr = null; try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); if (typeof XMLHttpRequest != "undefined") { xhr = new XMLHttpRequest();

Verifica supporto AJAX per il client xhr.open ('GET', 'AjaxDemo.aspx?mode=ajax', true); xhr.onreadystatechange = checkForCompletion; xhr.send (); ... function checkForCompletion() { if (xhr.readyState == 4 && xhr.status == 200) window.alert(xhr.responseText); }

Che cos’è Microsoft ASP.NET AJAX ? 3/27/2017 1:45 PM Che cos’è Microsoft ASP.NET AJAX ? Un FRAMEWORK per realizzare applicazioni WEB, interattive e dalla ricca interfaccia utente Facilita lo sviluppo di applicazioni AJAX Estende e completa ASP.NET 2.0 Anche se può essere usato con PHP Multi-browser Estendibile © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Microsoft AJAX: i componenti base ASP.NET 2.0 AJAX Futures CTPs ASP.NET AJAX Toolkit ASP.NET 2.0 AJAX Extensions Sviluppato con la community Server Side Nuove funzionalità Client Side Microsoft AJAX Library Supporto Microsoft standard per le ASP.NET 2.0 AJAX Extension Supporto della comunity per le Futures CTPs ed il Toolkit.

AJAX: da dove partire

Componenti essenziali di AJAX ASP.NET Contengono: Template AJAX per VS/WD 2005 Controlli lato server Ajax Library (JavaScript lato client) Progetto share-source community Esempi già pronti SDK per la creazione di nuovi controlli Richiede ASP.NET Extensions - Estendono la piattaforma core - Richiedono le ASP.NET 2.0 AJAX Extensions 1.0 - Aggiungono funzionalità come - Drag-and-Drop - XML Script - etc Possono essere utilizzate anche con server non MS Fanno parte di ASP.NET Extensions

Microsoft AJAX Library La parte client di ASP.NET 2.0 AJAX Tipicamente installata in “%ProgramFiles%\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025\MicrosoftAjaxLibrary” Indipendente dal browser e dalla piattaforma Internet Explorer, Firefox, Mozilla, Safari, etc. Si astrae dalla piattaforma sottostante Un JavaScript “arricchito” Namespaces, classi, interface, ereditarietà, etc. Un sistema dei tipi File *.js scaricati una sola volta sul client

ASP.NET AJAX 2.0 Extensions UpdatePanel È il controllo ASP.NET AJAX più importante Consente di trasformare facilmente una applicazione ASP.NET 2.0 in un’applicazione AJAX Permette di fare il rendering di parte della pagina Converte postbacks in chiamate asincrone Aggiorna parte della pagina web con il risultato Non si scrive JavaScript

Passo 1 Aggiungere lo ScriptManager Aggiungere ad una pogina aspx: <asp:ScriptManager ID="MyScriptManager" Runat="server" /> Lo ScriptManager genera: <script src="/.../WebResource.axd?d=iQ15p6LHcT2T5QE..." type="text/javascript"></script> Riferimento allo script .js da scaricare

Passo 2 Usare un UpdatePanel <asp:ScriptManager ID="..." Runat="server" EnablePartialRendering="true" /> . <asp:UpdatePanel ID="..." Runat="server"> <Triggers> <!– Se necessario definire dei trigger--> </Triggers> <ContentTemplate> <!– Il contenuto va qui --> </ContentTemplate> </asp:UpdatePanel>

Update Panel Estendiamo la piattaforma ASP.NET

ASP.NET AJAX Control Toolkit Aggiunge nuovi controlli server ad ASP.NET AJAX Template per la realizzazione di nuovi Extender Sviluppato in collaborazione con la community, in Shared Source

Da dove partire - 1

Da dove partire - 2

Da dove partire - 3

AJAX Control Toolkit Estendiamo la piattaforma ASP.NET

ASP.NET AJAX Futures CTPs Estende la piattaforma core Richiede le ASP.NET 2.0 AJAX Extensions 1.0 Aggiunge funzionalità Drag-and-Drop XML Script etc

Quindi ... AJAX = Asynchronous JavaScript and XML Applicazioni web più ricche ed interattive ASP.NET AJAX = Framework per lo sviluppo con AJAX Microsoft AJAX Library (client-side framework) ASP.NET 2.0 AJAX Extensions (server-side framework) ASP.NET AJAX è… Ottimizzato per l’uso su internet Supporta numerosi browser Compatibile con PHP, ColdFusion ed altre piattaforme Per lo sviluppo di applicazioni web nei prossimi anni Estende ed arrichisce la piattaforma Web da ASP.NET 2.0 a ASP.NET 2.0 AJAX Extensions

Link utili About Native XMLHTTP Sito ufficiale ASP.NET AJAX Blogs: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/d html/overview/aboutxmlhttp.asp Sito ufficiale ASP.NET AJAX http://ajax.asp.net Blogs: http://weblogs.asp.net/scottgu http://www.nikhilk.net

Q&A mauro.minella@microsoft.com