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
 Informazioni
generali sul .NET
Framework
 Concetti base di programmazione
Livello 100
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 un’applicazione
ASP.NET
Web Forms
ASP.NET Page Framework
C#
VB.NET
J#
J#
Common language specification (CLS)
Web Forms
Windows
Forms
XML Web Services
ADO.NET e XML
.NET Framework classes
Common Language Runtime (CLR)
Windows
COM + Services
Visual Studio .NET
ASP.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 l’utilizzo 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 dell’applicazione
Utilizzato dal CLR
Protetto dall’accesso 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 all’utente 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
Componente visuale
MiaPagina.aspx
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Default.aspx.vb"
Inherits="MVP_VBWeb.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema"
content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<h3>Esempi</h3>
<asp:RadioButtonList id="rblSamples" runat="server" RepeatDirection="Horizontal"
RepeatColumns="3">
<asp:ListItem Value="DataGridSortOrder"
Selected="True">DataGridSortOrder</asp:ListItem>
</asp:RadioButtonList>&nbsp;
<br>
<asp:Button ID="btnGo" Text="Vai all'esempio" Runat="server"></asp:Button>
</form>
</body>
</HTML>
Web form
Nome
Cognome
Invia
Code Behind
Public Class WebForm1
Inherits System.Web.UI.Page
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub
InitializeComponent()
End Sub
Protected WithEvents rblSamples As
System.Web.UI.WebControls.RadioButtonList
Protected WithEvents btnGo As
System.Web.UI.WebControls.Button
'NOTE: The following placeholder declaration is required by
the Web Form Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object
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
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
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
End Sub
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")
End Sub
End Class
MiaPagina.aspx.vb
Web forms

La direttiva @Page
<%@ 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
Server
Web form
Nome
MiaPagina.aspx.vb
Post back su evento click
Davide
Cognome Vernole
Invia
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Default.aspx.vb"
Inherits="MVP_VBWeb.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema"
content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<h3>Esempi</h3>
<asp:RadioButtonList id="rblSamples" runat="server" RepeatDirection="Horizontal"
RepeatColumns="3">
<asp:ListItem Value="DataGridSortOrder"
Selected="True">DataGridSortOrder</asp:ListItem>
</asp:RadioButtonList>&nbsp;
<br>
<asp:Button ID="btnGo" Text="Vai all'esempio" Runat="server"></asp:Button>
</form>
</body>
</HTML>
Browser
Web form
Invio della nuova
renderizzazione
al browser
Nome
Cognome
Invia
Hai inviato:
Nome = Davide
Cognome = Vernole
Predisposizione
della pagina da
inviare al client
Esecuzione del
Metodo
collegato
all’evento
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-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.
Demo
Single-Page Web Form
Riepilogo



Introduzione all’ASP.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
http://www.microsoft.com/italy/msdn/community/default.asp
MSDN Webcasts in italiano

Stay tuned
http://www.microsoft.com/italy/msdn/webcast/default.asp
Scarica

Web form - Microsoft