Antonio Feliziani
a- a+

Web Form Controls e gli eventi

Sono i controlli piùpotenti che ASP.NET rende disponibili. Hanno il vantaggio diusare una nomenclatura coerente e di spostarel’attenzione del programmatore sulle logiche disviluppo piuttosto che sul codice Html

I Web Form Controls sonodei tipi di controllo alternativi rispetto agli HTML Controls.

Mentre gli HTML Controlssono il modo preferibile per convertire con velocitàun’applicazione ASP in una ASP.NET, iWeb Form Controls sonopiù complessi e completi. È possibile peresempio realizzare un checkbox che effettua il submit di una form non appena viene premuto.

In particolare, ogni controllo Web Form può generare più tag HTML e anchecodiceJavascript.

I Web Form Controls siriconoscono perché preceduti da un prefisso (namespace) di tipo“asp” seguito dai due punti.

 

Vantaggi

  • la nomenclatura delle proprietà è coerente (a differenza di quello che succede con gli attributi dei tag HTML)
  • consentono di realizzare con un solo oggetto compiti complessi
  • si astrae dal codice HTML della pagina preoccupandosi invece delle logiche di programmazione

 

Un esempio

Il prossimo esempio visualizza una form realizzata con controlli di tipo Web Form.
Sono visualizzati 4 controlli di tipo asp:TextBox.

 

4 controlli di tipo TextBox

Con lo stesso controllo ASP.NET sono stati realizzati quelliche in HTML sono due tagdiversi: <input> e <textarea>.

In particolare i 4 controlli realizzano:

  • un textarea senza barre di scorrimento
  • un input box di tipo testo
  • un input box di tipo password
  • un textarea con barre di scorrimento

Il codice che li genera è il seguente:

TextBox 1

 

    <asp:TextBox runat="server" id="txtTextBox1" Text="Primo TextBox" BackColor="#99ccff" TextMode="MultiLine" Rows="5" OnTextChanged="txtTextBox_Changed" />


TextBox 2

    <asp:TextBox runat="server" id="txtTextBox2" Text="Secondo TextBox" TextMode="SingleLine" AutoPostBack="true" OnTextChanged="txtTextBox_Changed"/>


TextBox 3

    <asp:TextBox runat="server" id="txtTextBox3" TextMode="Password"/>


TextBox 4

    <asp:TextBox runat="server"id="txtTextBox4"TextMode="MultiLine"ScrollBars="Both"Wrap="false"ReadOnly="true" />


Questi controlli usano un insieme di proprietà davverocoerente. Ad esempio:

  • TextMode indica il tipo di tag da creare (input di tipo testo, password o textarea)
  • Text è l’eventuale testo da visualizzare nel controllo

 

Gli eventi

Come gli HTML Controls,anche i Web FormControls dispongono di un modello di programmazione adoggetti ed è pertanto possibile programmarne glieventi. Anche in questo caso le potenzialità dei Web Form Controls sidimostrano superiori rispetto agliHTML Controls.

L’evento OnTextChanged è eseguito quando il testoin uno dei primi due TextBox è modificato.

Provate ad esempio a posizionarvi sul primo TextBox e a modificare la scritta“Primo TextBox“. A questo punto premete ilpulsante di Invio.

Vi compare una pagina con la scritta “È cambiatoil valore di txtTextBox1″.

 

La pagina di risposta dopo aver cambiato il testo e premutosubmit

Provate a fare la stessa cosa con il secondo TextBox. Questa volta però nonpremete il pulsante di invio, ma spostatevi con il mouse o con il tastotab in un altro controllo.Noterete che ilsubmitdella form èrealizzato automaticamente. La causa è laproprietà AutoPostBack, che se posta atrue provoca l’invio automaticodella form.

È un metodo comodo per simulare quanto avviene con letradizionali applicazioni desktop, anche se dobbiamo prestare attenzione alfatto che la comunicazione traclient e server è destinata ad intensificarsi.

Come abbiamo già avuto modo di studiare, lefunzionalità date dalla proprietàAutoPostBack sono realizzate dacodiceJavascriptlatoclient.

 

Conclusione

I Web Form Controlsuperano i limiti deitagHTMLperché rendono disponibile un modello ad oggetticoerente e funzionalità più complete. Losviluppatore non si preoccupa dell’HTML generato, mautilizza controlli simili a quelli disponibili nellatradizionale programmazione Windows.