La proprietà ASP NET CommandName dei controlli Button, consente di specificare il nome dell’azione associata a un controllo button. La proprietà CommandName è utile quando in un form sono presenti più controlli button a cui è associata una diversa funzione.

La proprietà CommandName è disponibile anche per i controlli LinkButton e ImageButton.

Usare la proprietà ASP NET CommandName

Creare un documento di tipo WebForm e inserire al suo interno due controlli di tipo Button e una Label.

Impostare la proprietà Text del primo Button con il valore Modifica e la proprietà CommandName con il valore modifica come mostrato nella seguente immagine.

La proprietà ASP NET CommandName

La proprietà ASP NET CommandName

Modificare le proprietà Text e CommandName del secondo pulsante con i valori Modifica/modifica.

Selezionare entrambi i controlli Button (tenere premuto il tasto CTRL mentre si fa clic su ciascun controllo) e poi:

  1. visualizzare la sezione eventi nella finestra delle proprietà
  2. digitare nell’evento Command il testo azione e poi, premere invio
  3. digitare il codice seguente
protected void azione(object sender, CommandEventArgs e)
{
  if (e.CommandName.ToString() == "modifica")   
  {       
    Label1.Text = "Hai selezionato il pulsante Modifica";    
  }   
  else if (e.CommandName.ToString() == "elimina") 
  {       
    Label1.Text = "Hai selezionato il pulsante Elimina";   
  }
}

La marcatura del documento (file .aspx) dovrebbe essere simile al seguente frammento di codice.

<form id="form1" runat="server">
<h1>La proprietà CommandName</h1>
<p>
<asp:Button ID="Button1" runat="server" CommandName="modifica" OnCommand="azione" Text="Modifica" />
<asp:Button ID="Button2" runat="server" CommandName="elimina" OnCommand="azione" Text="Elimina" />
</p>
<p>
<asp:Label ID="Label1" runat="server" Text="Fai clic su un pulsante"></asp:Label>
</p>
</form>

Visualizzare il file nel browser (CTRL + F5) e fare clic su uno dei due comandi. Il testo della Label dovrebbe cambiare in base al pulsante attivato.

La proprietà ASP NET CommandName

La proprietà ASP NET CommandName

Altre informazioni sulla proprietà CommandName sono disponibili nella pagina Proprietà Button.CommandName del sito MSDN.