ASP.NET – Web Forms Davide Vernole.NET MVP. Di cosa parleremo Introduzione ad ASP.NET ASP.NET,...

28
ASP.NET – Web Forms Davide Vernole .NET MVP

Transcript of ASP.NET – Web Forms Davide Vernole.NET MVP. Di cosa parleremo Introduzione ad ASP.NET ASP.NET,...

Page 1: 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

Davide Vernole.NET MVP

Page 2: 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.

Di cosa parleremo Introduzione ad ASP.NET

ASP.NET, dietro le quinte Componenti principali di una applicazione

ASP.NET Web Forms

Page 3: 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.

Prerequisiti

Livello 100Livello 100

Informazioni generali sul .NET Framework

Concetti base di programmazione

Page 4: 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.

Demo

Creazione di un progetto web con Visual Studio 2003

Creare una web form Aggiungere controlli ad una web form Single-page Web form

Page 5: 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.

Agenda

ASP.NET Page Framework Componenti principali di un’applicazione

ASP.NET Web Forms

Page 6: 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 Page Framework

ASP.NETASP.NET

Web FormsWeb Forms XML Web ServicesXML Web Services

WindowsWindows COM + ServicesCOM + Services

Visu

al Stu

dio

.NE

TV

isual S

tud

io .N

ET

Common Language Runtime (CLR)Common Language Runtime (CLR)

.NET Framework classes.NET Framework classes

ADO.NET e XMLADO.NET e XML

WindowsWindowsFormsForms

Common language specification (CLS)Common language specification (CLS)

C#C# J#J# J#J#VB.NETVB.NET

Page 7: 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 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 l’utilizzo di linguaggi diversi Facilita il mantenimento dello stato

Page 8: 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 Page Framework Dietro le quinte (2/2)

Gestione degli eventi a livello di applicazione

Compilazione Configurazione Deployment Sicurezza Autenticazione e autorizzazioni Ottimizzazioni

Page 9: 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.

Agenda

ASP.NET Page Framework Componenti principali di una applicazione

ASP.NET Web Forms

Page 10: 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.

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

Page 11: 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.

Componenti principali di una applicazione ASP.NET

Web.Config Configurazioni specifiche dell’applicazione Utilizzato dal CLR Protetto dall’accesso via internet Estensibile

Global.asax Application file

Gestione eventi di applicazione Gestione eventi di sessione

Page 12: 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.

Demo Creazione di un progetto

Web con Visual Studio 2003

Page 13: 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.

Agenda

ASP.NET Page Framework Componenti principali di una applicazione

ASP.NET Web Forms

Page 14: 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.

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 all’utente sfruttando

implementazioni lato server

Page 15: 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.

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

Page 16: 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.

Web forms

Web formWeb form

NomeNome

CognomeCognome

InviaInvia Code BehindCode BehindPublic Class WebForm1Public Class WebForm1 Inherits System.Web.UI.PageInherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "#Region " Web Form Designer Generated Code "

'This call is required by the Web Form Designer.'This call is required by the Web Form Designer. <System.Diagnostics.DebuggerStepThrough()> Private Sub <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()InitializeComponent()

End SubEnd Sub Protected WithEvents rblSamples As Protected WithEvents rblSamples As System.Web.UI.WebControls.RadioButtonListSystem.Web.UI.WebControls.RadioButtonList Protected WithEvents btnGo As Protected WithEvents btnGo As System.Web.UI.WebControls.ButtonSystem.Web.UI.WebControls.Button

'NOTE: The following placeholder declaration is required by the 'NOTE: The following placeholder declaration is required by the Web Form Designer.Web Form Designer. 'Do not delete or move it.'Do not delete or move it. Private designerPlaceholderDeclaration As System.ObjectPrivate designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.InitAs System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form 'CODEGEN: This method call is required by the Web Form DesignerDesigner 'Do not modify it using the code editor.'Do not modify it using the code editor. InitializeComponent()InitializeComponent() End SubEnd Sub

#End Region#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadAs System.EventArgs) Handles MyBase.Load 'Put user code to initialize the page here'Put user code to initialize the page here End SubEnd Sub

Private Sub btnGo_Click(ByVal sender As System.Object, ByVal Private Sub btnGo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGo.Clicke As System.EventArgs) Handles btnGo.Click Response.Redirect("samples/" + Response.Redirect("samples/" + Me.rblSamples.SelectedValue.ToString() + ".aspx")Me.rblSamples.SelectedValue.ToString() + ".aspx") End SubEnd SubEnd ClassEnd Class

Componente visualeComponente visuale<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Default.aspx.vb" <%@ Page Language="vb" AutoEventWireup="false" Codebehind="Default.aspx.vb" Inherits="MVP_VBWeb.WebForm1"%>Inherits="MVP_VBWeb.WebForm1"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HTML><HEAD><HEAD><title>WebForm1</title><title>WebForm1</title><meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1"><meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1"><meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1"><meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1"><meta name="vs_defaultClientScript" content="JavaScript"><meta name="vs_defaultClientScript" content="JavaScript"><meta name="vs_targetSchema" <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">content="http://schemas.microsoft.com/intellisense/ie5"></HEAD></HEAD><body MS_POSITIONING="GridLayout"><body MS_POSITIONING="GridLayout"><form id="Form1" method="post" runat="server"><form id="Form1" method="post" runat="server"><h3>Esempi</h3><h3>Esempi</h3><asp:RadioButtonList id="rblSamples" runat="server" RepeatDirection="Horizontal" <asp:RadioButtonList id="rblSamples" runat="server" RepeatDirection="Horizontal" RepeatColumns="3">RepeatColumns="3"><asp:ListItem Value="DataGridSortOrder" <asp:ListItem Value="DataGridSortOrder" Selected="True">DataGridSortOrder</asp:ListItem>Selected="True">DataGridSortOrder</asp:ListItem></asp:RadioButtonList>&nbsp;</asp:RadioButtonList>&nbsp;<br><br><asp:Button ID="btnGo" Text="Vai all'esempio" Runat="server"></asp:Button><asp:Button ID="btnGo" Text="Vai all'esempio" Runat="server"></asp:Button></form></form></body></body></HTML></HTML>

MiaPagina.aspxMiaPagina.aspx

MiaPagina.aspx.vbMiaPagina.aspx.vb

Page 17: 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.

Web forms

La direttiva @Page

<%@ Page Language="vb"

AutoEventWireup="false" Codebehind=“MiaPagina.aspx.vb" Inherits=“MiaPagina.MiaWebForm" %>

Page 18: 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.

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à

Page 19: 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.

Web forms Round Trip

MiaPagina.aspx.vbMiaPagina.aspx.vb<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Default.aspx.vb" <%@ Page Language="vb" AutoEventWireup="false" Codebehind="Default.aspx.vb" Inherits="MVP_VBWeb.WebForm1"%>Inherits="MVP_VBWeb.WebForm1"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HTML><HEAD><HEAD><title>WebForm1</title><title>WebForm1</title><meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1"><meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1"><meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1"><meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1"><meta name="vs_defaultClientScript" content="JavaScript"><meta name="vs_defaultClientScript" content="JavaScript"><meta name="vs_targetSchema" <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">content="http://schemas.microsoft.com/intellisense/ie5"></HEAD></HEAD><body MS_POSITIONING="GridLayout"><body MS_POSITIONING="GridLayout"><form id="Form1" method="post" runat="server"><form id="Form1" method="post" runat="server"><h3>Esempi</h3><h3>Esempi</h3><asp:RadioButtonList id="rblSamples" runat="server" RepeatDirection="Horizontal" <asp:RadioButtonList id="rblSamples" runat="server" RepeatDirection="Horizontal" RepeatColumns="3">RepeatColumns="3"><asp:ListItem Value="DataGridSortOrder" <asp:ListItem Value="DataGridSortOrder" Selected="True">DataGridSortOrder</asp:ListItem>Selected="True">DataGridSortOrder</asp:ListItem></asp:RadioButtonList>&nbsp;</asp:RadioButtonList>&nbsp;<br><br><asp:Button ID="btnGo" Text="Vai all'esempio" Runat="server"></asp:Button><asp:Button ID="btnGo" Text="Vai all'esempio" Runat="server"></asp:Button></form></form></body></body></HTML></HTML>

Web formWeb form

NomeNome

CognomeCognome

InviaInvia

Hai inviato:Hai inviato:Nome = DavideNome = DavideCognome = VernoleCognome = Vernole

Web formWeb form

NomeNome

CognomeCognome

InviaInvia

DavideDavide

VernoleVernole

BrowserBrowser

ServerServer

Post back su evento clickPost back su evento click Esecuzione delEsecuzione delMetodo Metodo

collegato collegato all’eventoall’evento

Predisposizione Predisposizione della pagina da della pagina da inviare al clientinviare al client

Invio della nuova Invio della nuova renderizzazione renderizzazione

al browseral browser

Page 20: 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.

Web forms

Ciclo di esecuzione Inizializzazione della pagina (Page_Init) Inizializzazione del codice (Page_Load) Validazione Gestione eventi Rilascio risorse (Page_Unload)

Page 21: 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.

DemoCreare una Web Form

Page 22: 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.

Web forms

ASP.NET Web Server controls HTML Server controls Web Server Controls Validation Controls User Controls

Page 23: 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.

DemoAggiungere controlli ad

una Web Form

Page 24: 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.

Web forms

Single–file Cos’è Differenze con la strutturazione a due file

Code-behind Single-file

HTML statico e controlli nel file .aspx e il codice in un file separato .aspx.vb o .aspx.cs

Il codice è all’interno di un blocco <script> 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 un’unico file .dll che viene pubblicato sul serve senza nessun codice sorgente. Quando una richiesta per una pagina è ricevuta dal server, un’istanza alla dll di progetto viene creata ed eseguita.

Quando la pagina è rilasciata, il codice sorgente è anch’esso rilasciato con lapagina in quanto fisicamente contenuto nel file .aspx. Comunque il codice non viene visualizzato quando si consulta la pagina a run time.

Page 25: 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.

DemoSingle-Page Web Form

Page 26: 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.

Riepilogo Introduzione all’ASP.NET framework Componenti principali di una

applicazione ASP.NET Web forms

Page 27: 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.

Community news.microsoft.com

microsoft.public.it.dotet.asp

microsoft.public.it.dotnet.*

Comunità degli sviluppatorihttp://www.microsoft.com/italy/msdn/community/default.asp

Page 28: 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.

MSDN Webcasts in italiano

Stay tuned

http://www.microsoft.com/italy/msdn/webcast/default.asp