Web Form e Web Controls

di Daniele Bochicchio, in ASP.NET,
  • 0
  • 0
  • 0
  • 4,36 KB

In un precedente articolo abbiamo analizzato come è fatta la classe Page, che è un po' la base di ogni singola applicazione ASP.NET.

Al di sotto di questa classe, per ordine di importanza, oltre che per maggior frequenza di utilizzo, troviamo le web forms.

Nell'attuale release di ASP.NET ogni pagina può contenere una ed una sola web form. In realtà si può aggirare questo comportamento con oggetti di terze parti, oppure si può aspettare il rilascio di ASP.NET 2, se il 2005 non è troppo lontano come timeline.

Tornando a noi, per comprendere meglio come lavorare può essere interessante capire cos'è una web form: molto brevemente, non è altro che tutto ciò che in una pagina richiede interazione tra server e client.

Da cosa è fatta una web form

Una web form senza gli oggetti che contiene è inutile. Questi oggetti sono chiamati web controls (o per semplicità controls) e non sono altro che i tag HTML che verranno creati in fase di esecuzione e che utilizzeremo per aggiungere interattività alla pagina.

Per farla breve, una web form contiene dei controls che sono i normali di una pagina web: collegamenti, griglie per modificare testi, checkbox, etc.

Il vantaggio dell'uso delle web forms è che diventa molto semplice programmare questi oggetti, soprattutto al verificarsi di determinati eventi, come la pressione di un pulsante.

Possiamo ad esempio intercettare da server il caricamento della pagina o il click di un pulsante, di un link, il cambio di valore di una dropdownlist o comunque tutto ciò che in qualche modo possa generare un evento.

Come è possibile che al click su un link di una pagina venga generato un evento sul server? La risposta è semplice: tramite un po' di Javascript, creato al volo, viene fatto il submit di una form, passando dei parametri particolari, nascosti, che vanno ad influenzare la risposta del server.

In questo modo il server saprà quale evento richiamare, come risposta all'evento scatenato sul client.

Insomma, l'evento definito sul server "vive" sul server e lì rimane: è il client che con un'azione ripassa il controllo al server, che elabora la richiesta ed in questo modo riesce a decidere quale azione vada intrapresa.

E' in questo meccanismo che trova un suo perché il concetto (ed il relativo "evento") di PostBack.

Il PostBack

Questo concetto appena esposto è alla base del funzionamento del meccanismo di PostBack .

Con classic ASP in genere la pagina che contiene la risposta all'invio di una form è separata da quella che la richiama: ci sarà modulo.asp che in realtà al submit richiama modulo_invia.asp.

Questo perché con ASP non esiste una gestione ad oggetti dei controls della pagina e quindi si opera attraverso le collezioni QueryString e Form dell'oggetto built-in Request; un approccio di questo tipo con Classic ASP è il migliore, si separa il codice e si evita di aumentare il cosiddetto spaghetti-code , ovvero il miscuglio di codice HTML e server-side.

Con ASP.NET possiamo utilizzare gli oggetti e quindi una tipica web form ASP.NET non fa altro che fare il submit dei dati su sé stessa, per aggiornare lo stato degli oggetti e quindi lavorare sempre nello stesso ambito.

Questo sistema è ciò che sta alla base del PostBack: quando faccio il submit di una form ASP.NET, si verifica un PostBack, ovvero i dati tornano indietro alla pagina per aggiornare lo stato degli oggetti che contiene. E' proprio questo il meccanismo che ASP.NET utilizza per cambiare lo stato di un control.

Questo stato è verificabile attraverso Page.IsPostBack , ovvero tramite la proprietà IsPostBack della classe Page, per verificare ad esempio se ci troviamo sulla prima richiesta di una pagina, o sulle successive, verificatesi dopo il submit della nostra web form.

Il ViewState

A questo punto serve qualcosa che mantenga lo stato, dopo che abbiamo scoperto il meccanismo che permette di variarlo.

Questo sistema prenda il nome di ViewState . Grossomodo è del testo più o meno cripatato sotto forma di campo nascosto della nostra form.

E' un argomento abbastanza complesso ed interessante, che potete approfondire su questo articolo .

Un primo sguardo ai Web Controls

I Web Forms Controls, o anche detti per brevità Web Controls, sono nient'altro che una serie di controls progettati apposta dal team di sviluppo di ASP.NET e che forniscono funzionalità specifiche attraverso l'uso di proprietà comuni. Nelle intenzioni del gruppo di sviluppo c'è l'ambizione di voler facilitare il lavoro allo sviluppatore, potendo contare su proprietà comuni a tutti gli oggetti, a differenza degli HTML Controls che riflettono le proprietà dei rispettivi tag HTML.

Dunque, quando usare i primi e quando gli HTML Controls? Semplice: quando vi torna più comodo.

Per chi è abiutato all'HTML saranno gli HTML Controls più facili da utilizzaresemplici da gestire, per chi usa editor come VS.NET, saranno più utili i Web Controls

3 pagine in totale: 1 2 3

Attenzione: Questo articolo contiene un allegato.

Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti