ASP.NET è stato pensato per creare applicazioni web ed una delle caratteristiche importanti di queste applicazioni, che ritroviamo nelle classiche applicazioni per windows, è il fatto di essere guidate dagli eventi: se io eseguo una determinata operazione come cliccare su un bottone o selezionare un elemento in un menu a tendina, questo è un evento che mi causa l'esecuzione di una parte del programma.
Per aumentare l'interattività delle pagine web in questa direzione sono state pensate tecnologie di scripting lato client come Javascript e Dhtml o lato server come asp, php, jsp. Queste tecnologie offrono in alcuni casi delle soluzioni molto valide ma presentano comunque delle limitazioni, era necessario pensare a qualcosa di innovativo. Vediamo quindi come ASP.NET introduce delle innovazioni estremamente importanti partendo da un esempio in cui creeremo una pagina web contenente 3 server controls che interagiscono tra loro.
<script language="C#" runat="server">
void Button1_Click(Object sender, EventArgs e)
{
Label1.Text = TxtNome.Text + "... Bel nome!";
}
</script>
<html>
<body>
<form runat="server">
Dimmi chi sei:
<asp:textbox runat="server" id="TxtNome"
/><p>
<asp:button runat="server" id="Button1"
Text="Dimmelo!" OnClick="Button1_Click"/>
<p>
<asp:label runat="server" id="Label1" />
</form>
</body>
</html>
Ricordiamoci di salvare il file con l'estensione .aspx e mettiamolo in una cartella del nostro web server.
In questo listato abbiamo messo tre server controls: una textbox, un bottone ed una etichetta (label). Per tutti e tre abbiamo specificato l'attributo runat="server" che è necessario per poter fare interazioni lato server e poi abbiamo assegnato un id ad ognuno che ci serve per poter richiamare l'oggetto in fase di scrittura del codice vero e proprio. Ogni control che mettiamo in una pagina è di fatto un oggetto con cui posso interagire. Il bottone Button1 ha anche il metodo onClick che invoca la "funzione" (più propriamente detta event handler) Button1_click che abbiamo descritto nella sezione <script>.
Questa funzione ha una unica riga in cui si specifica quale deve essere il testo dell'etichetta Label1. Un elenco dei metodi disponibili per ogni control lo possiamo trovare nella documentazione del framework.
Nel primo esempio l'evento era invocato dal clic su un bottone, esistono però altri eventi legati, ad esempio, al caricamento della pagina:
void Page_Load(Object sender, EventArgs e)
{
// Esegue questo codice quando la pagina viene caricata
// Solo se la funzione si chiama Page_Load
}
In questo secondo esempio il codice contenuto tra le parentesi viene eseguito ogni volta che la pagina viene visitata.
LINQ e la trappola della 'deferred execution'Una "trappola" in cui si può incappare utilizzando il risultato di... |
C#, le Custom Type ConversionConversioni personalizzate tra classi, creare metodi particolari per... |
Introduzione a Entity FrameworkIl framework ORM messo a disposizione da .NET |
Repeater: visualizzare un feed RSSUtilizzare il controllo XMLDataSource e sfruttare il metodo XPath()... |
Repeater, il server control "semplice"Cos'è e come funziona il controllo Repeater |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Guida Visual Studio 2010L'ambiente di sviluppo di riferimento per sviluppare applicazioni su... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |