IMPARARE ASP.NET INDICE Introduzione alle Web application Iniziare a programmare in Asp.Net . . . . . . . . . . . . . . . . .. . .  .8 1.1 Hello Asp.Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .9 1.2 Coding model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 1.3 Compilazione e distribuzione . . . . . . . . . . . . . . . . . . . . . .14 1.3.1 Precompilazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 1.4 Creare pagine con Visual Studio .Net . . . . . . . . . . . . . . . 16 Struttura delle applicazioni Asp.Net 2.1 Locazione delle applicazioni Asp.Net . . . . . . . . . . . . . . . .25 2.1.1 File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 2.1.2 IIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.1.3 FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.1.4 Remote Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 2.2 Il file Web.Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 2.3 Strumenti di amministrazione . . . . . . . . . . . . . . . . . . . . . . 28 2.4 Directory riservate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 2.4.1 La directory Bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 2.4.2 La directory App_Code . . . . . . . . . . . . . . . . . . . . . . . . . .31 2.4.3 La directory App_Data . . . . . . . . . . . . . . . . . . . . . . . . . .34 2.4.4 La directory App_Themes . . . . . . . . . . . . . . . . . . . . . . . .34 2.4.5 La directory App_GlobalResources . . . . . . . . . . . . . . . . 34 2.4.6 La directory App_LocalResources . . . . . . . . . . . . . . . . . 35 2.4.7 La directory App_WebReferences . . . . . . . . . . . . . . . . . 36 2.4.8 La directory App_Browsers . . . . . . . . . . . . . . . . . . . . . . .38 2.5 Ciclo di vita delle applicazioni . . . . . . . . . . . . . . . . . . . . . . 38 2.6 Ciclo di vita di una pagina . . . . . . . . . . . . . . . . . . . . . . . . .39 2.7 Struttura di una pagina Asp.Net . . . . . . . . . . . . . . . . . . . . 40 2.8 Le direttive di pagina . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40 2.8.1 La direttiva Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . .42 2.8.2 La direttiva Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Scaricalo gratis su  http://www.punto-informatico.it/ PILibri
IMPARARE ASP.NET 2.8.3 La direttiva Implements . . . . . . . . . . . . . . . . . . . . . . . . .48 2.8.4 La direttiva Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48 2.8.5 La direttiva Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 2.8.6 La direttiva MasterType . . . . . . . . . . . . . . . . . . . . . . . . .49 2.8.7 La direttiva Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 2.8.8 La direttiva Register . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 2.8.9 La direttiva Reference . . . . . . . . . . . . . . . . . . . . . . . . . . .52 2.8.10 La direttiva OutputCache . . . . . . . . . . . . . . . . . . . . . . . .53 2.8.11 La direttiva PreviousPageType. . . . . . . . . . . . . . . . . . . .53 I controlli server di Asp.Net 3.1 La classe control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.1.1 Proprietà di Control ... . . . . . . . . . . . . . . . . . . . . . . . . . . .57 3.2 I controlli HTML lato server . . . . . . . . . . . . . . . . . . . . . . . .59 3.2.1 La classe HtmlControl . . . . . . . . . . . . . . . . . . . . . . . . . . .61 3.2.2 Gerarchia dei controlli HTML . . . . . . . . . . . . . . . . . . . . . .62 3.3 I WebControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.3.1 La classe WebControl . . . . . . . . . . . . . . . . . . . . . . . . . . .67 3.3.2 I controlli Web standard. . . . . . . . . . . . . . . . . . . . . . . . . .68 3.3.3 I nuovi controlli di Asp.Net 2.0. . . . . . . . . . . . . . . . . . . . . 96 3.4 Controlli personalizzati .. . . . . . . . . . . . . . . . . . . . . . . . . . .114 3.4.1 User Control …. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 3.5 I Custom Control ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.6 Validazione dell’imput.. . . . . . . . . . . . . . . . . . . . . . . . . . . . .119 3.6.1 Associare un validatore ad un controllo.. . . . . . . . . . . . . .119 3.6.2 Campi obbligatori: il controllo RequiredFieldValidator .... .120 3.6.3 Confronto di valori: il controllo CompareValidator… . . . . .120 3.6.4 Intervalli di valori: il controllo RangeValidator ... . . . . . . . .122 3.6.5 Espressioni regolari: il controllo RegularExpression. . . . .123 3.6.6 Validazione personalizzata: il controllo CustomValidator .124 3.6.7 Riepilogare gli errori: il controllo ValidationSummary ... . .125 Scaricalo gratis su  http://www.punto-informatico.it/ PILibri
IMPARARE ASP.NET Layout delle pagine 4.1 Le master page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 4.2 Creare una master page . . . . . . . . . . . . . . . . . . . . . .  . . . 130 4.3 Creare le content page . . . . . . . . . . . . . . . . . . . . . . . . . . .132 4.3.1 Impostare diverse master page . . . . . . . . . . . . . . . . . . .134 4.3.2 Accedere alla master page . . . . . . . . . . . . . . . . . . . . . . 135 4.4 Lavorare con i temi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137 4.4.1 I file di un tema .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138 4.4.2 Livelli di tema .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138 4.4.3 Creare un tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140 Accesso ai database e data binding 5.1 Ado.Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .145 5.2 Data binding in Asp.Net 2.0 . . . . . . . . . . . . . . . . . . . . . . .145 5.2.1 I controlli DataSource . . . . . . . . . . . . . . . . . . . . . . . . . .146 5.2.2 I controlli Data Bound . . . . . . . . . . . . . . . . . . . . . . . . . .147 5.2.3 Il controllo SqlDataSource . . . . . . . . . . . . . . . . . . .  . . .147 5.2.4 Visualizzare i dati in una GridView . . . . . . . . . . . . . . . .148 5.2.5 Aggiornare ed eliminare i dati . . . . . . . . . . . . . . . . . . . .149 Scaricalo gratis su  http://www.punto-informatico.it/ PILibri
IMPARARE ASP.NET INTRODUZIONE ALLE WEB APPLICATION   Nei primi anni di storia del web, e per tutti i primi anni novanta, i siti web erano semplici collezioni di pagine html e magari di immagini, raggiungibili e collegate una all’altra da hyperlink, e dunque non esisteva alcun modo di generare un contenuto dinamico, o di inserire nelle pagine dei controlli più sofisticati di quelli classici forniti da HTML puro, come pulsanti, caselle di testo, tabelle, frame. Microsoft fece il primo passo in avanti creando la prima versione delle ASP, Active Server Pages, con la possibilità di eseguire degli script sul server, alla richiesta di una pagina con estensione .asp, costituite da un insieme di html per definire la struttura e l’aspetto della pagina, e di istruzioni di codice vbscript che venivano inserite in blocchi delimitati dai caratteri . Con l’arrivo della piattaforma di programmazione .NET, nel luglio 2000, si passa ad una nuova versione delle pagine dinamiche, grazie al lavoro ed alle idee apportate da Marc Anders e Scott Guthrie, che decisero di abbandonare la programmazione procedurale classica di ASP, creando quella tecnologia che in origine fu chiamata ASP+ e solo in seguito ASP.NET. Scaricalo gratis su  http://www.punto-informatico.it/ PILibri

Imparare asp.net 107

  • 1.
    IMPARARE ASP.NET INDICEIntroduzione alle Web application Iniziare a programmare in Asp.Net . . . . . . . . . . . . . . . . .. . . .8 1.1 Hello Asp.Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .9 1.2 Coding model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 1.3 Compilazione e distribuzione . . . . . . . . . . . . . . . . . . . . . .14 1.3.1 Precompilazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 1.4 Creare pagine con Visual Studio .Net . . . . . . . . . . . . . . . 16 Struttura delle applicazioni Asp.Net 2.1 Locazione delle applicazioni Asp.Net . . . . . . . . . . . . . . . .25 2.1.1 File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25 2.1.2 IIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.1.3 FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.1.4 Remote Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 2.2 Il file Web.Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 2.3 Strumenti di amministrazione . . . . . . . . . . . . . . . . . . . . . . 28 2.4 Directory riservate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 2.4.1 La directory Bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 2.4.2 La directory App_Code . . . . . . . . . . . . . . . . . . . . . . . . . .31 2.4.3 La directory App_Data . . . . . . . . . . . . . . . . . . . . . . . . . .34 2.4.4 La directory App_Themes . . . . . . . . . . . . . . . . . . . . . . . .34 2.4.5 La directory App_GlobalResources . . . . . . . . . . . . . . . . 34 2.4.6 La directory App_LocalResources . . . . . . . . . . . . . . . . . 35 2.4.7 La directory App_WebReferences . . . . . . . . . . . . . . . . . 36 2.4.8 La directory App_Browsers . . . . . . . . . . . . . . . . . . . . . . .38 2.5 Ciclo di vita delle applicazioni . . . . . . . . . . . . . . . . . . . . . . 38 2.6 Ciclo di vita di una pagina . . . . . . . . . . . . . . . . . . . . . . . . .39 2.7 Struttura di una pagina Asp.Net . . . . . . . . . . . . . . . . . . . . 40 2.8 Le direttive di pagina . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40 2.8.1 La direttiva Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . .42 2.8.2 La direttiva Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Scaricalo gratis su http://www.punto-informatico.it/ PILibri
  • 2.
    IMPARARE ASP.NET 2.8.3La direttiva Implements . . . . . . . . . . . . . . . . . . . . . . . . .48 2.8.4 La direttiva Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48 2.8.5 La direttiva Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 2.8.6 La direttiva MasterType . . . . . . . . . . . . . . . . . . . . . . . . .49 2.8.7 La direttiva Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 2.8.8 La direttiva Register . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 2.8.9 La direttiva Reference . . . . . . . . . . . . . . . . . . . . . . . . . . .52 2.8.10 La direttiva OutputCache . . . . . . . . . . . . . . . . . . . . . . . .53 2.8.11 La direttiva PreviousPageType. . . . . . . . . . . . . . . . . . . .53 I controlli server di Asp.Net 3.1 La classe control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.1.1 Proprietà di Control ... . . . . . . . . . . . . . . . . . . . . . . . . . . .57 3.2 I controlli HTML lato server . . . . . . . . . . . . . . . . . . . . . . . .59 3.2.1 La classe HtmlControl . . . . . . . . . . . . . . . . . . . . . . . . . . .61 3.2.2 Gerarchia dei controlli HTML . . . . . . . . . . . . . . . . . . . . . .62 3.3 I WebControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.3.1 La classe WebControl . . . . . . . . . . . . . . . . . . . . . . . . . . .67 3.3.2 I controlli Web standard. . . . . . . . . . . . . . . . . . . . . . . . . .68 3.3.3 I nuovi controlli di Asp.Net 2.0. . . . . . . . . . . . . . . . . . . . . 96 3.4 Controlli personalizzati .. . . . . . . . . . . . . . . . . . . . . . . . . . .114 3.4.1 User Control …. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 3.5 I Custom Control ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.6 Validazione dell’imput.. . . . . . . . . . . . . . . . . . . . . . . . . . . . .119 3.6.1 Associare un validatore ad un controllo.. . . . . . . . . . . . . .119 3.6.2 Campi obbligatori: il controllo RequiredFieldValidator .... .120 3.6.3 Confronto di valori: il controllo CompareValidator… . . . . .120 3.6.4 Intervalli di valori: il controllo RangeValidator ... . . . . . . . .122 3.6.5 Espressioni regolari: il controllo RegularExpression. . . . .123 3.6.6 Validazione personalizzata: il controllo CustomValidator .124 3.6.7 Riepilogare gli errori: il controllo ValidationSummary ... . .125 Scaricalo gratis su http://www.punto-informatico.it/ PILibri
  • 3.
    IMPARARE ASP.NET Layoutdelle pagine 4.1 Le master page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129 4.2 Creare una master page . . . . . . . . . . . . . . . . . . . . . . . . . 130 4.3 Creare le content page . . . . . . . . . . . . . . . . . . . . . . . . . . .132 4.3.1 Impostare diverse master page . . . . . . . . . . . . . . . . . . .134 4.3.2 Accedere alla master page . . . . . . . . . . . . . . . . . . . . . . 135 4.4 Lavorare con i temi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137 4.4.1 I file di un tema .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138 4.4.2 Livelli di tema .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138 4.4.3 Creare un tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140 Accesso ai database e data binding 5.1 Ado.Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .145 5.2 Data binding in Asp.Net 2.0 . . . . . . . . . . . . . . . . . . . . . . .145 5.2.1 I controlli DataSource . . . . . . . . . . . . . . . . . . . . . . . . . .146 5.2.2 I controlli Data Bound . . . . . . . . . . . . . . . . . . . . . . . . . .147 5.2.3 Il controllo SqlDataSource . . . . . . . . . . . . . . . . . . . . . .147 5.2.4 Visualizzare i dati in una GridView . . . . . . . . . . . . . . . .148 5.2.5 Aggiornare ed eliminare i dati . . . . . . . . . . . . . . . . . . . .149 Scaricalo gratis su http://www.punto-informatico.it/ PILibri
  • 4.
    IMPARARE ASP.NET INTRODUZIONEALLE WEB APPLICATION Nei primi anni di storia del web, e per tutti i primi anni novanta, i siti web erano semplici collezioni di pagine html e magari di immagini, raggiungibili e collegate una all’altra da hyperlink, e dunque non esisteva alcun modo di generare un contenuto dinamico, o di inserire nelle pagine dei controlli più sofisticati di quelli classici forniti da HTML puro, come pulsanti, caselle di testo, tabelle, frame. Microsoft fece il primo passo in avanti creando la prima versione delle ASP, Active Server Pages, con la possibilità di eseguire degli script sul server, alla richiesta di una pagina con estensione .asp, costituite da un insieme di html per definire la struttura e l’aspetto della pagina, e di istruzioni di codice vbscript che venivano inserite in blocchi delimitati dai caratteri . Con l’arrivo della piattaforma di programmazione .NET, nel luglio 2000, si passa ad una nuova versione delle pagine dinamiche, grazie al lavoro ed alle idee apportate da Marc Anders e Scott Guthrie, che decisero di abbandonare la programmazione procedurale classica di ASP, creando quella tecnologia che in origine fu chiamata ASP+ e solo in seguito ASP.NET. Scaricalo gratis su http://www.punto-informatico.it/ PILibri