ASP.NET - Controlli 2
ASP.NET
Button, LinkButton, ImageButton
- Tutti e tre i controlli fanno un post della pagina al server.
- Text (per Button e LinkButton): testo mostrato nel Button o nel LinkButton.
- ImageUrl (per ImageButton): link all’immagine mostrata nell’ImageButton.
- OnClientClick: codice Javascript eseguito sul client. Ad esempio:
<asp:Button ID="Button1" runat="server" Text="Button"
OnClientClick="alert('Messaggio di avviso');" />
<asp:Button ID="Button2" runat="server" Text="Button"
OnClientClick="return confirm('Messaggio di conferma');" />
Eventi
- Click e Command: generati entrambi al click sul controllo; Click avviene prima di Command. Inoltre l'evento Command può gestire i due parametri CommandName e CommandArgument utilizzati per differenziare le azioni da svolgere nel caso che più bottoni abbiano lo stesso CommandName e lo stesso gestore dell'evento.
- Esempio: cinque bottoni con lo stesso gestore evento.
- Progettazione:
OnCommand="btnFunzioni_Command"
CommandName="Funzione1" />
<br />
<asp:Button ID="btnFunzione2" runat="server" Text="Funzione2"
OnCommand="btnFunzioni_Command"
CommandName="Funzione2" />
<br />
<asp:Button ID="btnFunzione3_1" runat="server" Text="Funzione3_1"
OnCommand="btnFunzioni_Command"
CommandName="Funzione3"
CommandArgument="Argomento1" />
<asp:Button ID="btnFunzione3_2" runat="server" Text="Funzione3_2"
OnCommand="btnFunzioni_Command"
CommandName="Funzione3"
CommandArgument="Argomento2" />
<asp:Button ID="btnFunzione3_3" runat="server" Text="Funzione3_3"
OnCommand="btnFunzioni_Command"
CommandName="Funzione3"
CommandArgument="Argomento3" />
- Gestore evento:
protected void btnFunzioni_Command(object sender, CommandEventArgs e)
{
switch (e.CommandName)
{
case "Funzione1":
Response.Write("Hai cliccato in Funzione1");
break;
case "Funzione2":
Response.Write("Hai cliccato in Funzione2");
break;
case "Funzione3":
switch (e.CommandArgument.ToString())
{
case "Argomento1":
Response.Write("Hai cliccato in Funzione3 Argomento1");
break;
case "Argomento2":
Response.Write("Hai cliccato in Funzione3 Argomento2");
break;
case "Argomento3":
Response.Write("Hai cliccato in Funzione3 Argomento3");
break;
default:
break;
}
break;
default:
break;
}
}