Condividi tramite


ButtonField.CommandName Proprietà

Definizione

Ottiene o imposta una stringa che rappresenta l'azione da eseguire quando si fa clic su un pulsante in un ButtonField oggetto .

public:
 virtual property System::String ^ CommandName { System::String ^ get(); void set(System::String ^ value); };
public virtual string CommandName { get; set; }
member this.CommandName : string with get, set
Public Overridable Property CommandName As String

Valore della proprietà

Nome dell'azione da eseguire quando si fa clic su un pulsante in ButtonField .

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare la CommandName proprietà per specificare un nome di comando per i pulsanti in un ButtonField oggetto di un GridView controllo .


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void CustomersGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
  {
  
    // If multiple ButtonField column fields are used, use the
    // CommandName property to determine which button was clicked.
    if(e.CommandName=="Select")
    {
    
      // Convert the row index stored in the CommandArgument
      // property to an Integer.
      int index = Convert.ToInt32(e.CommandArgument);    
    
      // Get the last name of the selected author from the appropriate
      // cell in the GridView control.
      GridViewRow selectedRow = CustomersGridView.Rows[index];
      TableCell contactName = selectedRow.Cells[1];
      string contact = contactName.Text;  
    
      // Display the selected author.
      Message.Text = "You selected " + contact + ".";
      
    }
    
  }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ButtonField Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>ButtonField Example</h3>
      
      <asp:label id="Message"
        forecolor="Red"
        runat="server"
        AssociatedControlID="CustomersGridView"/>
                    
      <!-- Populate the Columns collection declaratively. -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="false"
        onrowcommand="CustomersGridView_RowCommand"
        runat="server">
                
        <columns>
                
          <asp:buttonfield buttontype="Button" 
            commandname="Select"
            headertext="Select Customer" 
            text="Select"/>
          <asp:boundfield datafield="CompanyName" 
            headertext="Company Name"/>
          <asp:boundfield datafield="ContactName" 
            headertext="Contact Name"/>
                
        </columns>
                
      </asp:gridview>
            
        <!-- This example uses Microsoft SQL Server and connects -->
        <!-- to the Northwind sample database.                   -->
        <asp:sqldatasource id="CustomersSqlDataSource"  
          selectcommand="Select [CustomerID], [CompanyName], [ContactName], [ContactTitle] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
          runat="server">
        </asp:sqldatasource>
            
    </form>
  </body>
</html>

<%@ Page language="VB" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    Sub CustomersGridView_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
  
        ' If multiple ButtonField column fields are used, use the
        ' CommandName property to determine which button was clicked.
        If e.CommandName = "Select" Then
    
            ' Convert the row index stored in the CommandArgument
            ' property to an Integer.
            Dim index As Integer = Convert.ToInt32(e.CommandArgument)
    
            ' Get the last name of the selected author from the appropriate
            ' cell in the GridView control.
            Dim selectedRow As GridViewRow = CustomersGridView.Rows(index)
            Dim contactCell As TableCell = selectedRow.Cells(1)
            Dim contact As String = contactCell.Text
    
            ' Display the selected author.
            Message.Text = "You selected " & contact & "."
      
        End If
    
    End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ButtonField Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>ButtonField Example</h3>
      
      <asp:label id="Message"
        forecolor="Red"
        runat="server"
        AssociatedControlID="CustomersGridView"/>
                    
      <!-- Populate the Columns collection declaratively. -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="false"
        onrowcommand="CustomersGridView_RowCommand"
        runat="server">
                
        <columns>
                
          <asp:buttonfield buttontype="Button" 
            commandname="Select"
            headertext="Select Customer" 
            text="Select"/>
          <asp:boundfield datafield="CompanyName" 
            headertext="Company Name"/>
          <asp:boundfield datafield="ContactName" 
            headertext="Contact Name"/>
                
        </columns>
                
      </asp:gridview>
            
        <!-- This example uses Microsoft SQL Server and connects -->
        <!-- to the Northwind sample database.                   -->
        <asp:sqldatasource id="CustomersSqlDataSource"  
          selectcommand="Select [CustomerID], [CompanyName], [ContactName], [ContactTitle] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
          runat="server">
        </asp:sqldatasource>
            
    </form>
  </body>
</html>

Commenti

Utilizzare la CommandName proprietà per associare un nome di comando, ad esempio "Add" o "Remove", ai pulsanti nell'oggetto ButtonField . È possibile impostare la CommandName proprietà su qualsiasi stringa che identifica l'azione da eseguire quando si fa clic sul pulsante di comando. È quindi possibile determinare a livello di codice il nome del comando in un gestore eventi ed eseguire le azioni appropriate.

Annotazioni

Tutti i pulsanti in un ButtonField oggetto condividono lo stesso nome di comando.

I controlli associati a dati riconoscono determinati nomi di comando e generano e gestiscono automaticamente gli eventi appropriati per il controllo. Vengono riconosciuti i nomi dei comandi seguenti:

  • "Cancel"

  • "Delete"

  • "Edit"

  • "Insert"

  • "New"

  • "Page"

  • "Select"

  • "Sort"

  • "Update"

Per richiamare il paging, impostare su "Page"CommandName e sull'oggetto CommandArgument del controllo contenuto Button su "First", "Last", "Next""Prev", o un numero di pagina. Tuttavia, poiché per CommandArgument un ButtonField controllo è sempre l'indice di riga integer, un ButtonField controllo non è adatto per richiamare il paging. Analogamente, mentre è possibile richiamare l'ordinamento impostando su CommandName"Sort", la CommandArgument proprietà per un ButtonField controllo è sempre l'indice di riga integer. Per questo motivo, un ButtonField controllo non è adatto per richiamare l'ordinamento. Per i nomi dei comandi personalizzati, ad esempio "Add" e "Remove", è necessario scrivere il codice evento per controllare il nome del comando ed eseguire un'azione personalizzata. Per altre informazioni, vedere DataControlCommands.

Annotazioni

Non tutti i nomi dei comandi vengono riconosciuti da tutti i controlli associati a dati. Ad esempio, "New" non viene riconosciuto dal GridView controllo e "Select" non viene riconosciuto dal DetailsView controllo .

Il valore di questa proprietà viene archiviato nello stato di visualizzazione.

Si applica a