ButtonField.CommandName Свойство

Определение

Получает или задает строку, представляющую действие, выполняемое при нажатии кнопки в объекте ButtonField.Gets or sets a string that represents the action to perform when a button in a ButtonField object is clicked.

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

Значение свойства

Имя действия, выполняемого при нажатии на кнопку в ButtonField.The name of the action to perform when a button in the ButtonField is clicked.

Примеры

В следующем примере кода показано, как использовать CommandName свойство, чтобы указать имя команды для кнопок ButtonField в объекте GridView элемента управления.The following code example demonstrates how to use the CommandName property to specify a command name for the buttons in a ButtonField object of a GridView control.


<%@ 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>

Комментарии

Используйте свойство, чтобы связать имя команды, "Add" например или "Remove", с кнопками в ButtonField объекте. CommandNameUse the CommandName property to associate a command name, such as "Add" or "Remove", with the buttons in the ButtonField object. Можно задать CommandName для свойства любую строку, определяющую действие, выполняемое при нажатии на кнопку команды.You can set the CommandName property to any string that identifies the action to perform when the command button is clicked. Затем можно программно определить имя команды в обработчике событий и выполнить соответствующие действия.You can then programmatically determine the command name in an event handler and perform the appropriate actions.

Примечание

Все кнопки в ButtonField объекте имеют одинаковое имя команды.All buttons in a ButtonField object share the same command name.

Элементы управления с привязкой к данным распознают определенные имена команд и автоматически вызывают и обработают соответствующие события для элемента управления.Data-bound controls recognize certain command names and automatically raise and handle the appropriate events for the control. Распознаются следующие имена команд:The following command names are recognized:

  • "Cancel"

  • "Delete"

  • "Edit"

  • "Insert"

  • "New"

  • "Page"

  • "Select"

  • "Sort"

  • "Update"

Чтобы вызвать функцию разбиения на CommandName страницы "Page" , присвойте свойству Button значение "First", а CommandArgument элементу "Next"вложенного элемента управления — значение, "Last" "Prev", или.To invoke paging, set the CommandName to "Page" and the CommandArgument of the contained Button control to "First", "Last", "Prev", "Next", or a page number. Однако поскольку CommandArgument ButtonField для элемента управления всегда используется ButtonField целочисленный индекс строки, элемент управления не подходит для вызова подкачки.However, since the CommandArgument for a ButtonField control is always the integer row index, a ButtonField control is not suitable for invoking paging. Аналогично, хотя можно CommandName вызывать сортировку, присвоив "Sort" CommandArgument свойству значение ButtonField , свойство элемента управления всегда является целочисленным индексом строки.Similarly, while you can invoke sorting by setting the CommandName to "Sort", the CommandArgument property for a ButtonField control is always the integer row index. По этой причине ButtonField элемент управления не подходит для вызова сортировки.For this reason, a ButtonField control is not suitable for invoking sorting. Для имен настраиваемых команд, таких "Add" как "Remove"и, необходимо написать код события для проверки имени команды и выполнения некоторого настраиваемого действия.For custom command names, such as "Add" and "Remove", you need to write the event code to check the command name and perform some custom action. Для получения дополнительной информации см. DataControlCommands.For more information, see DataControlCommands.

Примечание

Все элементы управления с привязкой к данным распознают не все имена команд.Not all command names are recognized by every data-bound controls. Например, "New" не распознается GridView элементом управления и "Select" не распознается DetailsView элементом управления.For example, "New" is not recognized by the GridView control and "Select" is not recognized by the DetailsView control.

Значение этого свойства хранится в состоянии представления.The value of this property is stored in view state.

Применяется к