Sei sulla pagina 1di 9

.: IL CORSO DI ASP.NET :.

:: LEZIONE 1: PREMESSE
:: LEZIONE 2: INIZIAMO CON ASP.NET
:: LEZIONE 3: COMANDI SERVER E CONVALIDA

LEZIONE 1

Premesse (di

Pierluigi Riti

Introduzione
Benvenuti al corso di ASP.NET!
La seguente lezione ha il solo scopo di introdurre gli utenti alla programmazione in ASP.NET,
questa lezione avr il solo scopo di indicare le conoscenze e i software necessari allo
svolgimento del corso. Si prenda questa lezione come una semplice lezione introduttiva che
servir poi per lo svolgimento dellintero corso.

Conoscenze richieste
Il corso stato pensato per coprire la fascia di utenza pi ampia possibile; i pi esperti
potranno avvalersi di questo corso per conoscere o approfondire la conoscenza di ASP.NET,
mentre i meno esperti potranno iniziare a programmare utilizzando proprio tale tecnologia.

Requisiti Software
Per poter studiare al meglio il codice e provare gli esempi del corso necessario configurare
una macchina in modo opportuno. Per "far girare" pagine ASP.NET avremo bisogno del
Framework .NET; esistono due tipi di Framework, la versione ridistribuibile del SDK e la
versione Premium. ASP.NET supportato dai seguenti sistemi operativi:
Windows 2000 (consigliata la Service Pack 2)
Windows XP *
Windows 2003 Server
Mentre non supportato dai sistemi Windows NT e Windows 9x. Su Windows NT si pu
installare Visual Studio .NET e utilizzare ASP.NET in maniera remota sul server che ne ha
supporto. L'installazione del framework .NET include anche il suo sottoinsieme ASP.NET ma non
l'unico componente necessario per visualizzare le pagine, infatti come accadeva per le ASP
classiche, necessario che il server o la macchina locale di prova sia provvista del Web Server
IIS; nelle versioni server dei sistemi operativi, IIS viene installato di default mentre nelle altre
versioni questo deve essere installato a parte prendendolo dagli add-on nel CD del sistema
operativo (per le pagine ASP.NET necessario almeno IIS 5). Se non si dispone di IIS o non
possibile installarlo, si pu utilizzare Cassini Web Server, un Web Server (completamente
scritto in managed code .NET) che permette alle pagine ASP.NET di essere visualizzate. Non
IIS ma ha le funzionalit base necessarie alla fase di test e la visualizzazione. Se il framework
viene installato precedentemente all'installazione del web server, bisogna "informare" quest
ultimo della presenza di ASP.NET "regristrandolo" attraverso il comando nel prompt di dos:
aspnet_regiis -i

Ora che la propria workstation configurata correttamente, si pu prestare attenzione agli


strumenti di sviluppo migliori per le applicazioni ASP.NET. Si parte sempre dal presupposto che
si pu programmare anche con il solo notepad fornito da windows, ma questo talvolta pu
richiedere un overhead di tempo e risultare inadeguato per progetti di un certo calibro. Tra gli
strumenti professionali vi segnalo Microsoft Visual Studio .NET che davvero un prodotto
ottimale, acquistabile anche in una versione ridotta ed economica detta "standard", relativa ad
un solo programma: Visual C# Standard, Visual Basic .NET Standard o Visual C++ .NET
Standard. Recentemente si affacciato sul mercato un valido strumento che appare per
ancora un po' "immaturo": Borland C# Builder. Si consgilia di effettuare il download della
versione Personal, che totalmente gratuita per uso non commerciale. Ad un livello pi
"amatoriale" ci si pu avvalere di Web Matrix, che un editor WYSIWYG rilasciato
gratuitamente dallo stesso team di ASP.NET. Tale editor molto utilizzato ed ha diverse
caratteristiche interessanti, tra le quali un piccolo db manager.

Prima di iniziare
Adesso che abbiamo posto le basi siamo pronti per iniziare a lavorare con ASP.NET. Durante la
prossima lezione introdurr le principali differenze tra le pagine ASP classiche ed ASP.NET,
differenze che diverranno sempre pi chiare man mano andremo avanti con il corso. Ogni
lezione con un approccio pratico sar corredata dal codice presentato disponibile al download,
gli esempi saranno realizzati sia in C# sia in VB.NET questo per venire incontro a entrambe le
tipologie di sviluppatori e permettere anche indirettamente un apprendimento di base di
entrambi i linguaggi. I link ai download citati sono tutti presenti nella sezione download del sito.
Detto questo non mi resta che ricordarvi che sono a disposizione per ogni chiarimento o
domanda tramite e-mail ed augurarvi buon divertimento con ASP.NET.
* Si noti che l'installazione di IIS consentita nella versione Professional di Windows XP ma
non sulla versione Home. E' tecnicamente possibile l'installazione di IIS su XP Home mediante
vari "trucchi", ma tale pratica appare illegale e pertanto ci sentiamo di sconsigliarla vivamente.
Se si dispone di tale sistema, si installi Web Matrix e si utilizzi il web server Cassini fornito
internamente al programma gratuito.

LEZIONE 2

Iniziamo con ASP.NET (di

Pierluigi Riti

Introduzione
Prima di iniziare a studiare ASP.NET vediamo di spiegare quello che era il vecchio modello ASP
per poi indicare le principali differenze tra ASP e ASP.NET

Cosa ASP
ASP 1.0 nasce nel 1996 con lo scopo di rendere il Web pi dinamico e meno statico,
nonostante siano passate due versione prima di ASP.NET non ha ricevuto fino ad ora sostanziali
differenze.
Le pagine ASP a differenza della pagine HTML vengono processate dal Web Server,tipicamente
IIS, prima di essere inviate al browser Web.
Le pagine ASP, con estensione ASP, includono una parte dinamica, realizzata generalmente in
VBScript, che permette la visualizzazione di codice HTML al verificarsi di alcune condizioni.
Una tipica pagina ASP rappresentata di seguito:
<%@ Language=VBScript%>
<html><head></head>
<body>
<%
for i=1 to 5
Response.Write(<h&i&>Ciao mondo</h&i&>)
next
%>
</body>
</html>
Il risultato di questo breve scorcio di codice il seguente:

Come si nota dal codice lASP permette di andare a modificare direttamente lHTML per
modificare direttamente il disegno della pagina.
Come gi detto lASP nato per fornire uno strumento agli sviluppatori Web la possibilit di

cambiare laspetto della pagina a seconda di condizioni scritte nel codice.


Il successo avuto da ASP ha spinto i progettisti a migliorare la tecnologia permettendo
lintegrazione con altre tecnologie Microsoft quali il COM/COM+; queste nuove tecnologia
hanno permesso agli sviluppatori di rendere le proprie applicazioni molto pi stabili e pi
performanti.
Purtroppo per come noto il web in continua evoluzione e ASP ha mostrato tutti i suoi
limiti, per questo gli ingegneri Microsoft hanno iniziato a progettare ASP.NET.
ASP.NET stato presentato per la prima volta nel 1999, solo 3 anni dopo la nascita di ASP, e
subito ha suscitato linteresse di molti sviluppatori, tra cui il mio che mi sono procurato la
beta1 gi dal 2000, ASP.NET introduce molte migliorie rispetto ad ASP che verranno introdotte
successivamente.

Problemi di ASP
Le pagine ASP vengono scritte utilizzando il linguaggio VBScript, il linguaggio VBScript un
linguaggio di scripting che non supporta i tipi forti, per chi non addentro alla
programmazione per tipo forte si intende una variabile in cui viene indicato il tipo, ad
esempio un Intero, una Stringa ecc
Come pu notare dal codice soprascritto la variabile i non stata dichiarata ma viene utilizzata
come contatore intero.
Lunico tipo di variabile definito in VBScript il Variant, una variabile Variant pu avere
qualsiasi tipo di dati, senza distinzione.
Uno degli altri problemi principali di ASP quello di immischiare il codice server, incluso dentro
i tag <% e %>, e il codice la client HTML, questo pu andare bene per codici piccoli, come
quello mostrato di sopra, ma diventa molto scomodo quando si tratta di applicazioni pi
complesse, lunione di codice script e codice HTML rende molto complesso la lettura e la
manutenzione del codice.
Le pagine ASP non vengono compilate ma interpretate, questo significa che nelle pagine ASP il
codice di scripting viene interpretato dal Web Server IIS e il risultato viene mostrato
direttamente a video sotto forma di HTML, questo porta diversi problemi, primo fra tutti
limpossibilit di effettuare il debug delle applicazioni sviluppate se non visualizzandole nel
browser.

Vantaggi ASP.NET
Abbiamo fino adesso definito cosa ASP e quali sono i problemi principali che hanno portato
alla realizzazione di ASP.NET, vediamo quindi adesso di definire quali sono i vantaggi introdotti
da ASP.NET.
Le applicazioni ASP.NET vengono create utilizzando diversi linguaggi di programmazione ad
oggetti, VB.NET, C#, Jscript.NET.
Lutilizzo di linguaggi ad oggetti per la scrittura delle pagine permette di avere notevoli
vantaggi, innanzitutto possibile sfruttare tecniche di programmazione non possibili con
linguaggi di scripting.
Le pagine ASP.NET non sono pi interpretate dal server web ma vengono compilate dal
framework prima di essere visualizzate, questo si nota in un rallentamento della visualizzazione
della pagina la prima volta che si accede.
La compilazione delle pagine permette, d'altronde di effettuare il debug della pagina stessa,
riducendo i tempi di sviluppo delle applicazioni ASP.NET, altra modifica sostanziale la
suddivisione del codice server da quello della pagina HTML, argomento di cui parleremo pi
avanti, in questo modo possibile per designer e programmatori lavorare senza creare dei
problemi luno allaltra.

"Code in line" e "Code behind"

Come abbiamo gi accennato lo sviluppo in ASP.NET permette una divisione pi netta del
codice permettendo quindi una maggiore leggibilit della pagina stessa, i due modi con cui
possibile scrivere codice sono definiti "code in line" e "code behind" vediamo le differenze:

Code in line
Scrivere codice in linea similare a scrivere le pagine ASP alla vecchia maniera, la differenza
sostanziale in una netta suddivisione del codice dalla pagina HTML:
<%@Page Language=VB Inherits=Ch1CodeBehind
src=Components\Ch1CodeBehind.vb%>
<html>
<body>
<form runat="server">
<p>Inserisci il tuo nome:
<asp:TextBox id="Name" runat="server"></asp:TextBox></p>
<p>Premi il bottone:
<asp:Button id="Button1" onclick="Button1_Click" runat="server"
text="Premi"></asp:Button></p>
<p>Il tuo nome :
<asp:Label id="YourName" runat="server"></asp:Label></p>
</form>
</body>
</html>
Come si pu notare scrivere codice in linea molto simile a scrivere una normale pagina ASP,
la differenza risiede in una divisione molto pi netta del codice eseguibile e dellHTML.

Code behind
Il secondo modo per dividere il codice il metodo del codice sottostante dove il codice risiede
in un file separato.
Mantenendo lesempio del codice precedente lHTML sar simile a questo:
<%@Page
Language=VB
Inherits=Ch1CodeBehind
src=Components\Ch1CodeBehind.vb%>
<html>
<body>
<form runat="server">
<p>Inserisci il tuo nome:
<asp:TextBox id="Name" runat="server"></asp:TextBox></p>
<p>Premi il bottone:
<asp:Button id="Button1" onclick="Button1_Click"
runat="server" Text="Premi"></asp:Button></p>
<p>Il tuo nome :
<asp:Label id="YourName" runat="server"></asp:Label></p>
</form>
</body>
</html>
Adesso non importa sapere cosa fa esattamente il codice limportante studiare la struttura
delle pagine.
Si noti che il blocco script non pi presente ed stata aggiunta la direttiva Page con questa
direttiva si informa il CLR che la pagina fa riferimento ad un file esterno che contiene il codice,
che dovrebbe presentarsi cosi:
Imports System
Imports System.Web.UI

Imports System.Web.UI.WebControls
Public Class Ch1CodeBehind Inherits System.Web.UI.Page
Public bnt_Click(sender As Object, e As EventArgs)
YourName.text=Name.text
End Sub
End Class

Conclusione
In questa lezione abbiamo affrontato quelle che sono le differenze principali tra ASP e ASP.NET
scopo del corso quello di spiegare le nuove tecniche introdotte da ASP.NET per questo non mi
sono dilungato molto nel vecchio modello di ASP.
Durante la prossima lezione inizieremo ad analizzare i WebControls e vedremo come scrivere
pagine ASP.NET complete e funzionali, verr inoltre presentato il modo di scrivere le pagine con
entrambi i linguaggi sia VB.NET che C#.

LEZIONE 3

Comandi Server e convalida (di

Pierluigi Riti

Premessa
Nelle lezioni precedenti si parlato dASP.NET e delle differenze tra ASP e ASP.NET, in questa
lezione introdurremo i comandi server. Questa lezione stata volutamente divisa in pi per
lampiezza dellargomento che si dovr affrontare e per permettere allutente di apprendere le
nozioni necessarie, saranno introdotto il modello a eventi della pagina ASP.NET, si parler del
nuovo oggetto page e dei comandi server.

Il modello a eventi di ASP.NET


Nelle versioni precedenti di ASP stato utilizzato un modello dinamico per la creazione delle
pagine che possiamo riassumere nei seguenti passaggi:

Si acquisisce la richiesta IIS e viene convogliata mediante un motore lanalisi come


linterprete ASP.
Linterprete IIS esamina tutte le sezioni e quelle non di scripting ASP vengono
semplicemente riconvogliate al client con la risposta.
Il motore di script esegue il codice e invia tutti i risultati di questo codice alla
risposta in quel punto di pagina.

Acquisizione
della richiesta

Esame della richiesta HTTP

Ottenimento dei valori


Form/QueryString

Invio

Esecuzione di codice che crea una


pagina basata su questi valori

risposta
Possibile accesso ad altri componenti
o archivio dati

Figural modello di elaborazione delle pagine ASP

Creazione delloutput bit per bit


eseguendo
il codice
Il codice sottostante per molto complesso
anche perch
il codice ASP pu essere inserito
praticamente in ogni punto della pagina.

Le pagine ASP.NET a differenza delle pagine ASP tradizionali prevedono un modello di architettura
orientata agli eventi.
Per meglio chiarire il funzionamento di questa architettura basta pensare alle applicazioni Windows
classiche.
Nelle tradizionali applicazioni Windows gli utenti lavorano creano delle form in cui inseriscono
diversi componenti, gli eventi vengono generati quando lutente interagisce con i comandi della
pagina, mentre i gestori di questi eventi vengono creati appositamente.
Il codice di ciascun gestore di eventi determina laggiornamento della pagina o dei comandi,
creando output o eseguendo lattivit richiesta:
Creazione di
form o finestre

Applicazione Windows

Evento
Esecuzione di alcune
funzioni o del codice
di routine

Risultato

Figura La rappresentazione degli eventi nelle applicazioni Windows

La grande innovazione di ASP.NET consiste nella possibilit di creare pagine Web che utilizzano lo
stesso modello delle applicazioni Windows. Bisogna inoltre notare che a differenza del vecchio
codice ASP il nuovo codice ASP.NET completamente compilato, questo significa che tutto il
codice sia quello statico che quello dinamico viene compilato in una classe, questa classe pu
quindi essere eseguita per creare loutput per il client.
In questo modo possibile, mediante lattributo runat=server,fare il modo che i comandi
vengano creati allinterno della classe presente sul server, possibile quindi accedere a questi
comandi intercettando gli eventi generati.
Questo avviene perch ASP.NET utilizza elementi <form>, tutti i componenti creati con lattributo
runat=server devono risiedere allinterno dei tag form, per creare quella che viene definita
Architettura di postback , per architettura di postback si intende la possibilit di eseguire un
determinato comando, o parte di comandi, solo quando la pagina viene caricata.
La propriet IsPostBack una nuova propriet delloggetto Page, loggetto page sar oggetto di
discussione del prossimo paragrafo, larchitettura di postback ha lo scopo di rinviare la pagina e il
relativo contenuto allo stesso file ASP.NET, sul server, quando lutente interagisce con i comandi
della pagina.

Loggetto Page di ASP.NET

Come gi detto il modello ASP.NET basato sugli eventi, necessario quindi prima di andare
avanti con la lezione introdurre il modello a eventi delloggetto page di ASP.NET.
Lordine con cui si verificano gli eventi di tipo sequenziale, questo significa che un particolare
evento si verificher necessariamente dopo un altro, vediamo di definire quindi la sequenza degli
eventi delloggetto Page:

Page_Init : Generato quando la pagina viene inizializzata


Page_Load: Generato quando la pagina viene caricata
Control_Event: Generato se un comando (ad esempio un pulsante) ha avviato la
pagine che deve essere ricaricata
Page_Unload: Generato quando la pagina viene scaricata dalla memoria.

La sola differenza tra il comando Page_Load e Page_Init solo la garanzia che i comandi siano
completamente caricati allinterno della pagina con Page_Load.

Identificazione di Postback
Come gi detto levento Page_Load si verifica ogni volta che la pagina viene ricaricata, c quindi
bisogno di identificare il primo caricamento della pagina dai successivi.
Una delle tecniche delle vecchie tecnologie ASP era di rinviare una variabile al server che indicava
il caricamento della pagina, in ASP.NET esiste la propriet IsPostBack delloggetto Page.
Tale propriet pu essere utilizzata insieme allevento Page_Load per caricare i dati della pagina
solo quando la pagina viene ricaricata:
if(!Page.IsPostBack){
Response.Write("Ho ricaricato la pagina");
}

Conclusioni
In questa lezione si appreso il modello a eventi basilare di ASP.NET, si inoltre parlato del nuovo
oggetto Page e dellevento di PostBack, nella prossima lezione si introdurranno i comandi Server e
si inizier con le prime applicazioni pratiche dei comandi server.

Potrebbero piacerti anche