ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di...

16
ASP.NET

Transcript of ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di...

Page 1: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

ASP.NET

Page 2: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

…un po’ di ASP• ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere

codice eseguibile (script) lato server, inserendo il codice all’interno delle pagine web.

• Per eseguire le pagine ASP occorre quindi disporre di un serve Web che sia in grado di interpretare gli script in formato ASP: principalmente il Web server di Microsoft che si chiama IIS (Internet Information Services).

• La pagina ASP è normalmente un file di testo, salvato con l’estensione .asp, che può contenere testo, codici HTML, o script scritti con latri linguaggi, per esempio Java Script.

• L’utente da una pagina HTML, richiede di eseguire l’elaborazione contenuta nello script ASP; il server Web esegue le istruzioni contenute nella pagina ASP riga per riga e restituisce i risultati sotto forma di una pagina HTML che viene costruita dinamicamente e inviata al browser dell’utente. L’utente finale che utilizza il browser non può vedere il sorgente della pagina ASP residente sul server, ma solo la pagina HTML generata dallo script eseguito dal server.

Page 3: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

…ASP.NET

• Il codice ASP.NET è l’evoluzione del codice ASP classico, anche se di fatto è basato su modalità diverse di gestione delle applicazioni eseguibili sul server.

• La pagine ASP.NET sono identificate dall’estensione .aspx• ASP.NET utilizza il linguaggio Visual Basic, non la

versione VBScript delle pagine ASP classiche.• ASP.NET offre i vantaggi di un’alta scalabiltà, cioè è

possibile passare facilmente da sistemi di elaborazione di grandi dimensioni a quelli di piccole dimensioni e viceversa.

Page 4: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

• A differenza delle pagine ASP classiche, le pagine ASP.NET contengono codice compilato: la prima volta che il server riceve la richiesta di esecuzione di una pagina ASP.NET, questa viene compilata e ne viene mantenuta una copia in memoria, in modo da aumentare il grado di efficienza e la velocità di esecuzione.

• Per utilizzare le pagine ASP.NET occorre disporre di un computer con sistema operativo Windows e di un Web server.

Page 5: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

Gli oggetti delle pagine ASP.NET

• Le pagine ASP.NET utilizzano due tipi di oggetti lato server, detti controlli (controls): controlli HTML Server: sono normali tag HTML Controlli Web Server: sono i tag speciali ASP.NET

interpretabili dal server.Per rendere questi controlli utilizzabili all’interno del codice, occorre aggiungere l’attributoRunat = “server”che indica appunto il fatto che l’esecuzione run è fatta sul server.I controllo HTML server devono essere contenuti all’interno di un tag <form> … </form> e il form stesso deve avere l’attributo runat= “server”

Page 6: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

• Anche i controlli Web server devono avere l’attributo runat=“server” e sono definiti secondo la seguente sintassi generale:

<asp:tipo id= “nome” runat =“server” /> A differenza delle pagine APS classiche, che mescolano codice HTML e codice VBScript, le pagine ASP.NET separano il codice di scripting dai tag HTML secondo la seguente struttura generale:

Page 7: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

Struttura generale• La prima parte, compresa tra

<script> e </script>, raggruppa le istruzioni per l’elaborazione sul server. Il codice è organizzato in sottoprogrammi (Sub …End Sub).

• La seconda parte contiene elementi utilizzabili dal browser per presentare la pagina all’utente: tutti gli elementi sono raggruppati tra <form> e </form>.

• < script runat = “server”>• Sub• ……….• End Sub• </script>• <html>• <body>• <form runat = “server”>• ………• ……...• </form>• </body>• </html>

Page 8: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

Esempio sull’uso dei controlli HTML Server <script runat=“ server”>Sub Esegui (sender As Object, as EventArgs) If nome.Value <>”” Then image1.Src= nome.Value image1.Border = “1”End IfEnd Sub</script><html><body><form runat=“ server” ><p>Nome del file immagine:<input id= “nome”type ”test”size “30” runat=“server” /><br /><input type =“submit” value =“ Visualizza”OnServerClick =“Esegui”runat= ”server” />₺</p><img id =“image1”runat=“server” /></form></body></html>

Page 9: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

Si può osservare che Gli oggetti tradizionali HTML (form, input, img) diventano controlli

HTML server con l’aggiunta dell’attributo runat=“ server”; Tutti i tag HTML devono avere tag di chiusura con la barra,

compresi i tag <br/> e <img/>; Il programma Esegui, associato all’evento click (OnServerClick) sul

pulsante di comando, controlla che il contenuto della casella di testo non sia vuoto – If nome.Value <>” “ Then…– Attraverso la proprietà Value dell’oggetto nome, che rappresenta la

casella di testo (nome e proprietà dell’oggetto sono separati dal punto);In caso positivo assegna un valore alle proprietà Src e Border

dell’oggetto image1 (image1.Src e image1.Border) per visualizzare l’immagine richiesta, delimitandola con un bordo di spessore 1

Page 10: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

Esempio sull’uso dei controlli Web server<script runat="server">Sub Page_Load lbl1.Text= Rettangolo: calcolo dell’area ₺ ₺End Sub

Sub Submit (sender As Object, e As EventArgs)Dim Area As IntegerArea = base.Text * altezza.Textlbl2.Text = "Risultato = "& AreaEnd Sub</script>

<html><body><form runat="server" ><p><asp:Label id ="bl1" runat="server" forecolor ="#0000FF"font-bold ="True" /></p>Base: <asp:TextBox id "base" columns ="10" runat="server" />Altezza :<asp:TestBox id='altezza" columns "10" runat="server" /><asp: Button OnClick ="Submit" Text "Esegui" runat="server" /><p> <asp:Label id = "lbl2" runat="server" /></p> </form></body></html>

Page 11: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

Esempio sull’uso dei controlli Web server

Come si vede i controlli Web server sono rappresentati secondo la sintassi specifica di ASP.NET <asp: …./>.

I controlli usati in questo programma sono : Label (etichetta descrittiva), TextBox (casella di testo) e Button (pulsante di comando).

In questo esempio la parte di script comprende due sottoprogrammi (Sub):• il primo (Page_Load) gestisce l’evento del caricamento della pagina e specifica le azioni da

compiere quando la pagina viene aperta dal browser, in questo caso viene visualizzato un titolo, assegnando una stringa alla proprietà Text dell’etichetta lbl1;

• il secondo gestisce l’evento click sul pulsante di comando (Button): acquisisce i valori della base e dell’altezza attraverso le proprietà Text delle due caselle di testo e assegna il risultato del calcolo alla proprietà Text dell’etichetta lbl2.

Si osservi anche che nella creazione del controllo lbl1, di tipo Label, sono stati definiti gli attributi forecolor e font-bold per assegnare un colore blu e l’evidenziazione in grassetto ai caratteri dell’etichetta (per comodità di lettura sono scritti su più righe).

Page 12: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

ASP.NET E RAZOR• Razor è un view engine, introduce cioè una sintassi studiata

per descrivere come il server debba produrre HTML dinamicamente a fronte di una richiesta HTTP. Ad esempio se inseriamo questo codice all’interno di una pagina prova.cshtml

<!doctype html><html><body>@DateTime.Now</body></html>

Page 13: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

Esempio:

• e premiamo il pulsante Esegui. La pagina Web prodotta contiene la data e l’ora attuali, che cambiano ad ogni refresh del browser. Questo funzionamento è possibile perché il codice preceduto dal simbolo @ viene elaborato dal server ad ogni richiesta ed il suo risultato inserito all’interno della pagina alla posizione specificata.

Page 14: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

…l’uso delle parentesi graffe• Quando una singola istruzione dinamica non è sufficiente ad ottenere il

comportamento desiderato possiamo avvalerci delle parentesi graffe per delimitare l’area nella quale vogliamo eseguire codice server-side:

<!doctype html><html><body>@{ DateTime today = DateTime.Now; DateTime tomorrow = today.AddDays(1);}domani: @tomorrow</body></html>

Page 15: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

Esempio:• <!-- Single statement block -->

@{ var myMessage = “Ciao Mondo"; }

<!-- Inline expression or variable --><p>The value of myMessage is: @myMessage</p>

<!-- Multi-statement block -->@{var greeting = “Benvenuti nel nostro sito!";var weekDay = DateTime.Now.DayOfWeek;var greetingMessage = greeting + " Qui a Napoli é: " +weekDay;}<p>The greeting is: @greetingMessage</p>

Page 16: ASP.NET. …un po’ di ASP ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server, inserendo.

Il risultato sarà

• Il valore di myMessage è: Ciao Mondo

• Il saluto è: Benvenuti sul nostro sito! Qui a Napoli è: Mercoledì