ASP.NET Web Forms
TUTTI I SERVER CONTROL DEVONO TROVARSI TRA IL TAG <form> e </form>
IL QUALE DEVE CONTENERE L'ATTRIBUTO runat="server"
L'attributo runat="server" indica che il form deve essere processato sul server.
Indica, inoltre, che i controlli inclusi possono essere raggiunti dai server scripts:
<form id="Form1" runat="server">
...HTML + server controls
</form>
IMPORTANTE: Il form è sempre inviato alla stessa pagina (se stesso).
Se viene specificato l'attributo action=" ", è ignorato.
Se lo si omette, viene assegnato method="post" di default.
Ancora: se non viene indicato il nome e l'attributo ID, questi sono automaticamente assegnati da ASP.NET.
IMPORTANTE: una pagina .aspx può contenere solo UN <form id="Form1" runat="server"> control.
Se si visualizza il codice sorgente di una pagina .aspx, che contiene un form,
non è assegnato il nome, il metodo, l'action o l'attributo ID.
In una pagina richiamata dal server, si possono vedere questi attributi aggiunti da ASP.NET, simili ai seguenti:
<form name="_ctl0" method="post" action="page.aspx" id="_ctl0">
...codice...
</form>
Processare un Form
Un form spesso è processato al submit del button. Il server control Button, in ASP.NET,
ha il seguente codice:
<asp:Button id="UnicoID" text="Clicca" OnClick="UnicoID_Submit" runat="server" />
L'attributo ID definisce un identificativo unico per il pulsante
ed l'attributo text altro non è che il value dello stesso pulsante in html.
L'evento onClick indica il richiamo alla subroutine per eseguirla.
Nel seguente esempio viene inserito un oggetto control Button nella pagina.
Il click sul pulsante richiama la subroutine e cambia il testo (value) del pulsante:
Il codice è:
<script runat="server">
Protected Sub Btn1_Submit(ByVal sender As Object, ByVal e As System.EventArgs)
Btn1.Text = "Vedi che il testo è cambiato?"
End Sub
</script>