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 ASP.NET Web Forms
Prerequisiti Livello 100 Informazioni generali sul.NET Framework Concetti base di programmazione
Demo Creazione di un progetto web con Visual Studio 2003 Creare una web form Aggiungere controlli ad una web form Single-page Web form
Agenda ASP.NET Page Framework Componenti principali di unapplicazione ASP.NET Web Forms
ASP.NET Page Framework ASP.NET Web Forms XML Web Services Windows COM + Services Visual Studio.NET Common Language Runtime (CLR).NET Framework classes ADO.NET e XML WindowsForms Common language specification (CLS) C# J# J# VB.NET
ASP.NET Page Framework Dietro le quinte (1/2) Piattaforma web per applicazioni di classe enterprise Si appoggia sul.NET Framework Supporto agli XML Web Services Permette lutilizzo di linguaggi diversi Facilita il mantenimento dello stato
ASP.NET Page Framework Dietro le quinte (2/2) Gestione degli eventi a livello di applicazione Compilazione Configurazione Deployment Sicurezza Autenticazione e autorizzazioni Ottimizzazioni
Agenda ASP.NET Page Framework Componenti principali di una applicazione ASP.NET Web Forms
Componenti principali di una applicazione ASP.NET Principali file di progetto Web.Config Global.asax AssemblyInfo.cs (vb) Metadata file su file system Reference Componenti Assemblies.NET Componenti COM Progetti Web Services
Componenti principali di una applicazione ASP.NET Web.Config Configurazioni specifiche dellapplicazione Utilizzato dal CLR Protetto dallaccesso via internet Estensibile Global.asax Application file Gestione eventi di applicazione Gestione eventi di sessione
Demo Creazione di un progetto Web con Visual Studio 2003
Agenda ASP.NET Page Framework Componenti principali di una applicazione ASP.NET Web Forms
Web forms Cosè una web form Pagina basate sulla tecnologia ASP.NET Any browser e any device Programmabile in diversi linguaggi Estensibile Flessibile Possibili utilizzi Creare pagine web programmabili Presentare informazioni allutente sfruttando implementazioni lato server
Web forms Componenti di una web form Componente visuale (web form) HTML statico ASP.NET server controls Logica (code behind) Codice creato per interagire con la parte visuale Risiede in un file separato Codice realizzabile in linguaggi diversi Inserito in fase di compilazione nella dll del progetto
Web forms Web form Nome Cognome Invia Code Behind Public Class WebForm1 Inherits System.Web.UI.Page Inherits System.Web.UI.Page #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. 'This call is required by the Web Form Designer. Private Sub InitializeComponent() Private Sub InitializeComponent() End Sub End Sub Protected WithEvents rblSamples As System.Web.UI.WebControls.RadioButtonList Protected WithEvents rblSamples As System.Web.UI.WebControls.RadioButtonList Protected WithEvents btnGo As System.Web.UI.WebControls.Button Protected WithEvents btnGo As System.Web.UI.WebControls.Button 'NOTE: The following placeholder declaration is required by the Web Form Designer. 'NOTE: The following placeholder declaration is required by the Web Form Designer. 'Do not delete or move it. 'Do not delete or move it. Private designerPlaceholderDeclaration As System.Object Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. 'Do not modify it using the code editor. InitializeComponent() InitializeComponent() End Sub End Sub #End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Put user code to initialize the page here 'Put user code to initialize the page here End Sub End Sub Private Sub btnGo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGo.Click Private Sub btnGo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGo.Click Response.Redirect("samples/" + Me.rblSamples.SelectedValue.ToString() + ".aspx") Response.Redirect("samples/" + Me.rblSamples.SelectedValue.ToString() + ".aspx") End Sub End Sub End Class Componente visuale <HTML><HEAD><title>WebForm1</title> </HEAD> <h3>Esempi</h3> DataGridSortOrder DataGridSortOrder </asp:RadioButtonList> <br> </form></body></HTML> MiaPagina.aspx MiaPagina.aspx.vb
Web forms La Page Language="vb" AutoEventWireup="false" Codebehind=MiaPagina.aspx.vb" Inherits=MiaPagina.MiaWebForm" %>
Web forms Caratteristiche Modello ad oggetti intuitivo e consistente Modello di programmazione ad eventi Gestione dello stato intuitiva Applicazioni indipendenti dal browser Supporto per il CLR Scalabilità
Web forms Round Trip MiaPagina.aspx.vb <HTML><HEAD><title>WebForm1</title> </HEAD> <h3>Esempi</h3> DataGridSortOrder DataGridSortOrder </asp:RadioButtonList> <br> </form></body></HTML> Web form Nome Cognome Invia Hai inviato: Nome = Davide Cognome = Vernole Web form Nome Cognome Invia Davide Vernole Browser Server Post back su evento click Esecuzione del Metodo collegato allevento Predisposizione della pagina da inviare al client Invio della nuova renderizzazione al browser
Web forms Ciclo di esecuzione Inizializzazione della pagina (Page_Init) Inizializzazione del codice (Page_Load) Validazione Gestione eventi Rilascio risorse (Page_Unload)
Demo Creare una Web Form
Web forms ASP.NET Web Server controls HTML Server controls Web Server Controls Validation Controls User Controls
Demo Aggiungere controlli ad una Web Form
Web forms Single–file Cosè Differenze con la strutturazione a due file Code-behindSingle-file HTML statico e controlli nel file.aspx e il codice in un file separato.aspx.vb o.aspx.cs Il codice è allinterno di un blocco nello stesso file dei componenti visuali.aspx Il codice della pagina è compilato in una classe separata dalla quale il file.aspx deriva Il file.aspx deriva dalla classe Page Tutte i file di classi di un progetto (senza i file.aspx) sono compilati in ununico file.dll che viene pubblicato sul serve senza nessun codice sorgente. Quando una richiesta per una pagina è ricevuta dal server, unistanza alla dll di progetto viene creata ed eseguita. Quando la pagina è rilasciata, il codice sorgente è anchesso rilasciato con lapagina in quanto fisicamente contenuto nel file.aspx. Comunque il codice non viene visualizzato quando si consulta la pagina a run time.
Demo Single-Page Web Form
Riepilogo Introduzione allASP.NET framework Componenti principali di una applicazione ASP.NET Web forms
Community news.microsoft.com microsoft.public.it.dotet.asp microsoft.public.it.dotnet.* Comunità degli sviluppatori
MSDN Webcasts in italiano Stay tuned