Introduzione a ASP.NET
Cosa è ASP.NET?
ASP.NET rappresenta la parte del framework .NET che si usa per scrivere le applicazioni web.
Le caratteristiche peculiari di ASP.NET sono:
- Flessibilità: potete utilizzare tutte le classi di .NET e uno qualsiasi dei linguaggi che supportano lo standard .NET
- Sicurezza: sono assicurati elevati livelli di sicurezza
- Performance: le applicazioni ASP.NET sono convertiti in MS-IL (MS intermediate Language) per essere eseguiti più velocemente dal CLR.
- Integrabilità dei sistemi: predisposizione per l’utilizzo di formati aperti di interscambio dati (Es. XML) e per la realizzazione di applicazioni distribuite (Web Services)
- Riutilizzabilità del codice
WebServer
Un elemento essenziale per far girare le applicazioni WEB è il WebServer. Essendo .NET un insieme di specifiche sostanzialmente svincolato dalla piattaforma è possibile far girare pagine ASP.NET sia su Internet Information Service che su Apache grazie al progetto mono.
Code-Behind
Una singola pagina web è (a parte eccezioni si intende), in ASP.NET, fisicamente costituita da due file:
- file .aspx contiene codice di impaginazione (codice HTML e componenti di interfaccia)
- file .vb (visualbasic) o .cs (C#) contenente la logica di elaborazione
Questa tecnologia si chiama code-behind ed è molto utile perché consente a coloro che impaginano i contenuti di interagire con componenti ad alto livello molto più “maneggevoli”.
Un secondo vantaggio di questo approccio è che all’atto dell’installazione (deploy) dell’applicazione web i sorgenti “code behind” saranno compilati in opportune DLL. Il vantaggio è sia in termini di prestazioni (il codice è precompilato e dunque più rapido) sia in termini di riservatezza del codice.
A livello operativo all’interno della pagina .aspx si dichiara quale è il file che contiene il codice “code-behind” relativo.
Direttiva Page
La direttiva Page deve essere collocata in testa ad una pagina .aspx e serve per:
- specificare il tipo di linguaggio utilizzato
- esplicitare il nome del file che contiene il codice “code-behind”
- specificare da quale classe la pagina corrente sta ereditando le caratteristiche
- altri parametri…
Esempio:
<%@ Page Language="cs" CodeBehind="pagina.aspx.cs" Inherits="nome_applicazione.pagina"%>
Il parametro Language specifica il tipo di linguaggio utizzato (C# in questo caso); CodeBehind dice che la pagina con il codice code-behind è pagina.aspx.cs, collocato nella stessa directory; Inherits specifica che la pagina corrente eredita dalla classe pagina.
Realizzazione delle interfacce
All’interno delle pagine .aspx si utilizza la sintassi XML per identificare un particolare controllo e per specificarne i parametri.
Esempio di Web Controls:
<asp:TextBox> : Casella di testo <asp:Button> : Bottone <asp:Label> : Testo <asp:Table> : Tabella <asp:Calendar> : Calendario <asp:Panel> : Pannello
Come si vede i controlli web non sono solamente elementi che rispecchiano i corrispondenti tag HTML ma anche elementi complessi come Calendar e Panel.
Runat=”server”
Una tra le direttive più importanti è Runat=”server”. Se vogliamo che il comportamento del controllo sia controllabile dalla logica code-behind è necessario impostare la proprietà runat al valore “server”.
Questo vuol dire che il codice code-behind avrà a disposizione un riferimento univoco per impostare le proprietà di quel controllo.
ID
Ogni controllo con runat=”server” dovrà avere un ID univoco. es. ID=”label1″
Nell’esempio il codice code-behind avrà potrà accedere al testo della label semplicemente con label1.Text
es.
label1.Text = “ciao mondo”;
