Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

I tipi di Controls

I diversi gruppi di controls
I diversi gruppi di controls
Link copiato negli appunti

Abbiamo visto tre server control in azione. I server control sono gli elementi base che ASP.NET ci mette a disposizione per creare le nostre applicazioni web.

Quando devo usare un server control?
E' importante scegliere con accuratezza quando usare un server control anziché un semplice elemento html. Se ad esempio voglio usare, all'interno di un form, un menu a tendina con n elementi fissi senza alcuna interazione dinamica, posso tranquillamente usare il semplice tag html <select>. Se invece voglio avere una interazione dinamica, come caricare i valori del menu a tendina da un database, oppure ho bisogno di accedere alle proprietà, ai metodi o agli eventi del menu stesso allora devo utilizzare il server control HtmlSelect che si definisce semplicemente così:

<select id="Nome" runat="server" />

oppure il Web Form Control:

<asp:DropDownList id="Nome" runat="server" />

Perché non usare sempre i server control? Capirete che questo tipo di elementi comportano un appesantimento del carico di lavoro sul sistema ed un calo in termini di prestazioni mentre i semplici tag html, non venendo processati dal server, risultano molto più leggeri.

I server controls si possono raggruppare in:

  • Html Server Controls che sono gli equivalenti degli elementi html, controllabili lato server. Per crearli in genere è sufficiente aggiungere l'attributo runat="server" al tradizionale tag Html;
  • ASP.NET Web Form Controls che sono molto simili agli Html Controls ma hanno alcune differenti caratteristiche e proprietà;
  • ASP.NET List Controls che consentono di interagire con sorgenti di dati;
  • ASP.NET Rich Controls ossia il componente calendario Calendar, quello per la getione dei banner AdRotator e quello per linterazione
    con Xml;
  • ASP.NET Validation Controls che sono stati creati per effettuare la validazione e il controllo dei valori immessi nei form;
  • ASP.NET Mobile Controls che hanno particolari funzionalità adatte a fornire un output per dispositivi portatili con schermi ridotti come cellulari, palmari etc..

Concludiamo con un altro esempio per familiarizzare con i Server Control. Vediamo come è possibile usare la classe HtmlGenericControl per interagire con il tag <Body>.

<html>
<head>
<script language="C#" runat="server">
void SubmitBtn_Click(Object sender, EventArgs e)
{
  Body.Attributes["bgcolor"] = ColorSelect.Value;
}
</script>
</head>
<body id="Body" runat="server">
 <h3><font face="Verdana">HtmlGenericControl
-  Esempio</font></h3>
 <form runat="server">
 <p> Seleziona un colore di background per la pagina:
<p>
 <select id="ColorSelect" runat="server">
  <option value="White">Bianco</option>
  <option value="LightBlue">Celeste</option>
  <option value="LightGreen">Verde</option>
  <option value="Yellow">Giallo</option>
 </select>
 <input type="submit" runat="server" Value="Applica"
OnServerClick="SubmitBtn_Click">
 </form>
</body>
</html>

In questo esempio il clic sul bottone invoca il cambio del colore di background della pagina. Se guardiamo il codice html restituitoci dal server notiamo che il valore bgcolor viene di volta in volta impostato secondo il valore selezionato:

<body id="Body" bgcolor="LightBlue">

Avrete notato anche un'altra cosa insolita nel codice html restituito:

<input type="hidden" name="__VIEWSTATE"
value="dDwtNzc4MDg3
NzcyO3Q8O2w8aTwyPjs+O2w8dDxwPGw8Ymdjb
2xvcjs+O2w8TGlnaHRCbHVlOz4+Ozs+Oz4+Oz4=" />

C'è un hidden field dal nome __VIEWSTATE che voi non avevate inserito nel codice sorgente della pagina .aspx. Questo campo viene infatti inserito automaticamente dal sistema e serve per il mantenimento dello stato del sistema per quegli elementi di cui avete specificato l'attributo runat="server". Se ad esempio selezionate il valore Verde, al successivo caricamento della pagina quello rimane l'elemento selezionato, ossia l'elemento che come sorgente html ha <option value="LightGreen" selected>. Il mantenimento dello stato è un'altra caratteristica molto utile ed importante di questo ambiente di sviluppo.

Ti consigliamo anche