Condividi tramite


Introduzione alle pagine Web Form

È possibile utilizzare le pagine Web Form per creare pagine Web programmabili da utilizzare come interfaccia utente per le applicazioni Web. Una pagina Web Form consente di fornire informazioni all'utente in qualsiasi browser o periferica client e di implementare la logica dell'applicazione utilizzando il codice lato server. L'output delle pagine Web Form può contenere quasi tutti i linguaggi che supportano l'HTTP, compresi HTML, XML, WML ed ECMAScript (JScript, JavaScript).

Le pagine Web Form sono:

  • Basate su una tecnologia Microsoft ASP.NET in cui il codice eseguito sul server genera in modo dinamico l'output di pagine Web nel browser o nella periferica client. Per informazioni dettagliate su ASP.NET, vedere Concetti base della tecnologia ASP.NET.
  • Compatibili con qualsiasi browser o dispositivo mobile, nonché in grado di eseguire automaticamente il rendering dell'HTML compatibile con il browser corretto per funzionalità quali gli stili, il layout e così via. In alternativa, è possibile progettare le pagine Web Form in modo che vengano eseguite su un browser specifico, quale Microsoft Internet Explorer 5, e si avvalgano delle funzionalità di un browser client avanzato.
  • Compatibili con qualsiasi linguaggio supportato da .NET Common Language Runtime, tra cui Microsoft Visual Basic, Microsoft Visual C# e Microsoft JScript .NET.
  • Sviluppate con Microsoft .NET Framework e quindi dotate di tutti i vantaggi del framework, inclusi un ambiente gestito, codice type-safe ed ereditarietà.
  • Supportate in Visual Studio con gli efficaci strumenti di sviluppo rapido di applicazioni (RAD) per la progettazione e la programmazione dei form.
  • Estendibili, in quanto utilizzano controlli che forniscono la funzionalità RAD per lo sviluppo Web, consentendo di creare in modo rapido interfacce utente avanzate.
  • Flessibili, in quanto è possibile aggiungervi controlli di terze parti e creati dagli utenti.

Componenti di Web Form

Nelle pagine Web Form la programmazione dell'interfaccia utente viene suddivisa in due elementi distinti: il componente visivo e la logica. Se si sono già utilizzati strumenti quali Visual Basic e Visual C++, si sarà in grado di riconoscere questa divisione tra la parte visibile di un form e il codice sottostante al form con cui esso interagisce.

L'elemento visivo viene definito come pagina Web Form. Questa pagina è composta da un file contenente HTML statico o controlli server ASP.NET o entrambi contemporaneamente.

La pagina Web Form funge da contenitore per il testo e i controlli statici che si desidera visualizzare. Se si utilizza Progettazione Web Form di Visual Studio insieme ai controlli server ASP.NET, sarà possibile progettare il form così come in qualsiasi applicazione Visual Studio. Per ulteriori informazioni, vedere Controlli utilizzabili nelle pagine Web Form.

La logica della pagina Web Form è composta dal codice che viene creato per interagire con il form. La logica della programmazione risiede in un file distinto dal file dell'interfaccia utente. Questo file viene definito file di "codice sottostante" e presenta un'estensione "ASPX.VB" o "ASPX.CS". La logica scritta nel file di codice sottostante può essere scritta in Visual Basic o Visual C#.

Struttura dei file Web Form

I file di classe di codice sottostante per tutte le pagine Web Form di un progetto vengono compilati nel progetto file di libreria a collegamento dinamico (DLL). Anche il file della pagina ASPX viene compilato, ma in modo differente. La prima volta che un utente visualizza una pagina ASPX, in ASP.NET viene automaticamente generato un file di classe .NET che rappresenta la pagina e che viene quindi compilato in un secondo file DLL. La classe generata per la pagina ASPX eredita dalla classe di codice sottostante compilata nel file DLL del progetto. Quando un utente richiede l'URL della pagina Web, i file DLL vengono eseguiti sul server e viene automaticamente generato l'output HTML per la pagina. Per ulteriori informazioni, vedere Elaborazione delle pagine Web Form.

Per ulteriori informazioni sulla struttura delle pagine Web Form, vedere Modello di codice di Web Form.

Operazioni eseguibili utilizzando le pagine Web Form

La programmazione delle applicazioni Web presenta particolari difficoltà che in genere non si verificano durante la programmazione delle applicazioni client tradizionali. Di seguito sono illustrati alcuni di questi problemi.

  • Implementazione di un'interfaccia utente Web avanzata. La progettazione e l'implementazione di un'interfaccia utente con un layout complesso, una grande quantità di contenuto dinamico e oggetti completi e interattivi mediante le funzionalità HTML di base possono risultare operazioni difficili e impegnative. Risulta particolarmente difficoltoso creare un'interfaccia utente avanzata per applicazioni da eseguire su piattaforme di periferiche client e browser differenti.
  • Separazione di client e server. In un'applicazione Web il client (browser) e il server sono programmi differenti, in genere eseguiti su computer differenti e persino su sistemi operativi differenti. Di conseguenza, le due parti dell'applicazione condividono una quantità minima di informazioni; possono comunicare, ma in genere si scambiano solo piccoli blocchi di dati semplici.
  • Esecuzione senza informazioni sullo stato. Quando un server Web riceve la richiesta di una pagina, la pagina viene trovata, elaborata, inviata al browser e vengono infine eliminate tutte le informazioni relative alla pagina. Se l'utente richiede di nuovo la stessa pagina, il server ripeterà l'intera sequenza di operazioni, rielaborando la pagina da zero. In altre parole, un server non ha memoria delle pagine che ha elaborato. Pertanto, se un'applicazione deve gestire le informazioni su una pagina, è necessario risolvere questo problema nel codice dell'applicazione.
  • Funzionalità del client sconosciute. In molti casi, la maggior parte degli utenti può accedere alle applicazioni Web utilizzando browser differenti. I browser sono dotati di funzionalità differenti, il che rende difficile la creazione di un'applicazione che possa essere eseguita in modo corretto su tutti i diversi browser.
  • Problemi con l'accesso ai dati. La lettura e la scrittura da e in un'origine dati nelle applicazioni Web tradizionali può risultare complicata e richiedere un utilizzo intensivo di risorse.
  • Problemi con la scalabilità. In molti casi le applicazioni Web progettate con metodi esistenti non sono in grado di raggiungere specifici obiettivi di scalabilità a causa della mancanza di compatibilità tra i vari componenti dell'applicazione. Questa caratteristica rappresenta in genere il vero e unico fattore problematico nelle applicazioni con un ciclo di crescita elevato.

Risolvere queste difficoltà per le applicazioni Web può richiedere sforzi e tempi considerevoli. Le pagine Web Form e il framework di pagine ASP.NET affrontano tali problematiche utilizzando le funzionalità riportate di seguito.

  • Modello a oggetti intuitivo e coerente. Il framework di pagine ASP.NET presenta un modello a oggetti che consente di considerare il form come un'unità, anziché come parti client e server distinte. In questo modello è possibile programmare il form in modo più intuitivo rispetto alle applicazioni Web tradizionali, in quanto è possibile impostare le proprietà per gli elementi dei form e rispondere agli eventi. I controlli server ASP.NET rappresentano inoltre un'astrazione del contenuto fisico di una pagina HTML e costituiscono l'interazione diretta tra browser e server. In generale, è possibile utilizzare i controlli server nello stesso modo in cui si utilizzano i controlli in un'applicazione client senza che sia necessario occuparsi della creazione dell'HTML per presentare ed elaborare i controlli e il relativo contenuto.
  • Modello di programmazione basato su eventi. Le pagine Web Form consentono di utilizzare per le applicazioni Web il noto modello di scrittura dei gestori eventi per gli eventi generati sul client o sul server. Il framework di pagine ASP.NET astrae questo modello in modo che il meccanismo sottostante per l'acquisizione di un evento sul client, la trasmissione di tale evento al server e la chiamata del metodo appropriato siano automatici e invisibili all'implementatore. Ne risulta una struttura di codice scritta in modo semplice e chiaro che supporta lo sviluppo basato su eventi.
  • Gestione intuitiva dello stato. Il framework di pagine ASP.NET gestisce automaticamente le attività di gestione dello stato del form e dei relativi controlli e consente di gestire in modo esplicito lo stato delle informazioni specifiche delle applicazioni. Tale gestione può essere eseguita senza un ingente utilizzo di risorse server e può essere implementata con o senza l'invio di cookie al browser.
  • Applicazioni indipendenti dai browser. Il framework di pagine ASP.NET consente la creazione di tutta la logica delle applicazioni sul server, eliminando la necessità di definire nel codice in modo esplicito le differenze dei browser. Consente comunque di avvalersi automaticamente delle funzionalità specifiche dei browser scrivendo il codice lato client al fine di fornire un livello più elevato di prestazioni e applicazioni client più ricche e complesse.
  • Supporto per il Common Language Runtime di .NET Framework. Il framework di pagina ASP.NET è una tecnologia ASP.NET. Poiché ASP.NET si basa su .NET Framework, l'intero framework è disponibile a qualsiasi applicazione ASP.NET. È possibile creare le applicazioni in qualsiasi linguaggio compatibile con il runtime, compresi Microsoft Visual Basic, Visual C# e JScript .NET. L'accesso ai dati viene inoltre semplificato mediante l'infrastruttura di accesso ai dati fornita da .NET Framework, incluso ADO.NET.
  • Scalabilità delle prestazioni dei server di .NET Framework. Il framework di pagine ASP.NET consente di rendere scalabile l'applicazione Web da un computer con un singolo processore a una "Web farm" multicomputer in modo efficace e diretto e senza apportare modifiche complesse alla logica dell'applicazione.

Vedere anche

Concetti base della tecnologia ASP.NET | Modello di codice di Web Form | Elaborazione delle pagine Web Form | Procedura dettagliata: creazione di una pagina Web Form di base Migrazione a Web Form | Procedura dettagliata: creazione di un'applicazione Web accessibile