ListView.ItemCommand ListView.ItemCommand ListView.ItemCommand ListView.ItemCommand Event

Определение

Происходит при нажатии кнопки в элементе управления ListView.Occurs when a button in a ListView control is clicked.

public:
 event EventHandler<System::Web::UI::WebControls::ListViewCommandEventArgs ^> ^ ItemCommand;
public event EventHandler<System.Web.UI.WebControls.ListViewCommandEventArgs> ItemCommand;
member this.ItemCommand : EventHandler<System.Web.UI.WebControls.ListViewCommandEventArgs> 
Public Custom Event ItemCommand As EventHandler(Of ListViewCommandEventArgs) 

Примеры

В следующем примере показано, как создать ItemCommand обработчик событий.The following example shows how to create an ItemCommand event handler.

<%@ 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">
  protected void EmployeesListView_OnItemCommand(object sender, ListViewCommandEventArgs e)
  {
    if (String.Equals(e.CommandName, "AddToList"))
    {
      // Verify that the employee ID is not already in the list. If not, add the
      // employee to the list.
      ListViewDataItem dataItem = (ListViewDataItem)e.Item;
      string employeeID = 
        EmployeesListView.DataKeys[dataItem.DisplayIndex].Value.ToString();
      
      if (SelectedEmployeesListBox.Items.FindByValue(employeeID) == null)
      {
        ListItem item = new ListItem(e.CommandArgument.ToString(), employeeID);
        SelectedEmployeesListBox.Items.Add(item);
      }
    }
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Employee List</title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:ListView runat="server" 
        ID="EmployeesListView"
        OnItemCommand="EmployeesListView_OnItemCommand"
        DataSourceID="EmployeesDataSource" 
        DataKeyNames="EmployeeID">
        <LayoutTemplate>
          <table runat="server" id="tblEmployees" 
                 cellspacing="0" cellpadding="1" width="440px" border="1">
            <tr id="itemPlaceholder" runat="server"></tr>
          </table>
          <asp:DataPager ID="EmployeesDataPager" runat="server" PageSize="10">
            <Fields>
              <asp:NumericPagerField />
            </Fields>
          </asp:DataPager>
        </LayoutTemplate>
        <ItemTemplate>
          <tr runat="server">
            <td>
              <asp:Label runat="server" ID="NameLabel" 
                Text='<%#Eval("LastName") + ", " + Eval("FirstName") %>' />
            </td>
            <td style="width:80px">
              <asp:LinkButton runat="server" 
                ID="SelectEmployeeButton" 
                Text="Add To List" 
                CommandName="AddToList" 
                CommandArgument='<%#Eval("LastName") + ", " + Eval("FirstName") %>' />
            </td>
          </tr>
        </ItemTemplate>
      </asp:ListView>
      
      <br /><br />
      <b>Selected Employees:</b><br />
      <asp:ListBox runat="server" ID="SelectedEmployeesListBox" Rows="10" Width="300px" />
       
      <!-- This example uses Microsoft SQL Server and connects      -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET    -->
      <!-- expression to retrieve the connection string value       -->
      <!-- from the Web.config file.                                -->       
      <asp:SqlDataSource ID="EmployeesDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT [EmployeeID], [FirstName], [LastName]
                       FROM HumanResources.vEmployee
                       ORDER BY [LastName], [FirstName], [EmployeeID]">
      </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">
  Protected Sub EmployeesListView_OnItemCommand(ByVal sender As Object, _
  ByVal e As ListViewCommandEventArgs)
    
    If String.Equals(e.CommandName, "AddToList") Then
      
      ' Verify that the employee ID is not already in the list. If not, add the
      ' employee to the list.
      Dim dataItem As ListViewDataItem = CType(e.Item, ListViewDataItem)
      Dim employeeID As String = _
        EmployeesListView.DataKeys(dataItem.DisplayIndex).Value.ToString()
      
      If SelectedEmployeesListBox.Items.FindByValue(employeeID) Is Nothing Then
        Dim item As ListItem = _
          New ListItem(e.CommandArgument.ToString(), employeeID)
        SelectedEmployeesListBox.Items.Add(item)
      End If
      
    End If
    
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head2" runat="server">
    <title>Employee List</title>
  </head>
  <body>
    <form id="form1" runat="server">
      <asp:ListView runat="server" 
        ID="EmployeesListView"
        OnItemCommand="EmployeesListView_OnItemCommand"
        DataSourceID="EmployeesDataSource" 
        DataKeyNames="EmployeeID">
        <LayoutTemplate>
          <table runat="server" id="tblEmployees" 
                 cellspacing="0" cellpadding="1" width="440px" border="1">
            <tr id="itemPlaceholder" runat="server"></tr>
          </table>
          <asp:DataPager ID="EmployeesDataPager" runat="server" PageSize="10">
            <Fields>
              <asp:NumericPagerField />
            </Fields>
          </asp:DataPager>
        </LayoutTemplate>
        <ItemTemplate>
          <tr runat="server">
            <td>
              <asp:Label runat="server" ID="NameLabel" 
                Text='<%#Eval("LastName") & ", " & Eval("FirstName") %>' />
            </td>
            <td style="width:80px">
              <asp:LinkButton runat="server" 
                ID="SelectEmployeeButton" 
                Text="Add To List" 
                CommandName="AddToList" 
                CommandArgument='<%#Eval("LastName") & ", " & Eval("FirstName") %>' />
            </td>
          </tr>
        </ItemTemplate>
      </asp:ListView>
      
      <br /><br />
      <b>Selected Employees:</b><br />
      <asp:ListBox runat="server" ID="SelectedEmployeesListBox" Rows="10" Width="300px" />
       
      <!-- This example uses Microsoft SQL Server and connects      -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET    -->
      <!-- expression to retrieve the connection string value       -->
      <!-- from the Web.config file.                                -->       
      <asp:SqlDataSource ID="EmployeesDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT [EmployeeID], [FirstName], [LastName]
                       FROM HumanResources.vEmployee
                       ORDER BY [LastName], [FirstName], [EmployeeID]">
      </asp:SqlDataSource>
    </form>
  </body>
</html>

Комментарии

ItemCommand Событие возникает, когда кнопки в ListView нажатии элемента управления.The ItemCommand event is raised when a button in the ListView control is clicked. Это позволяет выполнять пользовательские процедуры при каждом возникновении этого события.This enables you to perform a custom routine whenever this event occurs.

Кнопки в ListView управления могут также вызывать встроенные функциональные возможности элемента управления.Buttons in a ListView control can also invoke built-in functionality of the control. В следующей таблице перечислены значения, которые можно использовать с CommandName свойства кнопки для вызова встроенных функциональных возможностей.The following table lists values that you can use with the CommandName property of a button in order to invoke built-in functionality.

Значение CommandNameCommandName value ОписаниеDescription
«Отмена»"Cancel" Отменяет операцию редактирования или вставки.Cancels an edit or insert operation. Создает событие ItemCanceling.Raises the ItemCanceling event.
"Удалить""Delete" Удаляет текущую запись из источника данных.Deletes the current record from the data source. Вызывает ItemDeleted и ItemDeleting события.Raises the ItemDeleted and ItemDeleting events.
«Select»"Select" Наборы SelectedIndex свойства DisplayIndex значение свойства для элемента.Sets the SelectedIndex property to the DisplayIndex property value for the item. Выполняет визуализацию SelectedItemTemplate шаблон элемента.Renders the SelectedItemTemplate template for the item. Вызывает SelectedIndexChanging и SelectedIndexChanged события.Raises the SelectedIndexChanging and SelectedIndexChanged events.
«Edit»"Edit" Переводит элемент в режиме редактирования.Puts the item in edit mode. Выполняет визуализацию EditItemTemplate шаблон элемента.Renders the EditItemTemplate template for the item. Создает событие ItemEditing.Raises the ItemEditing event.
«Вставить»"Insert" Вставляет связанных значений из InsertItemTemplate шаблона в источник данных.Inserts the bound values from the InsertItemTemplate template into the data source. Вызывает ItemInserting и ItemInserted события.Raises the ItemInserting and ItemInserted events.
«Обновление»"Update" Обновляет текущую запись в источнике данных с помощью связанных значений из EditItemTemplate шаблона.Updates the current record in the data source with the bound values from the EditItemTemplate template. Вызывает ItemUpdating и ItemUpdated события.Raises the ItemUpdating and ItemUpdated events.
«Сортировка»"Sort" Сортирует столбцами, перечисленными в CommandArgument свойства кнопки.Sorts the columns listed in the CommandArgument property of the button. Вызывает Sorting и Sorted события.Raises the Sorting and Sorted events.

ItemCommand Событие также вызывается при нажатии кнопки, которая указана в предыдущей таблице.The ItemCommand event is also raised when a button that is listed in the previous table is clicked. Тем не менее рекомендуется использовать события, перечисленные в таблице.However, it is recommended that you use the events listed in the table. ItemCommand Событий обычно используется для обработки пользовательских операций.The ItemCommand event is usually used to handle custom operations.

Объект ListViewCommandEventArgs объект передается в обработчик событий, который позволяет определить имя команды и аргумент для кнопки, которая была нажата.A ListViewCommandEventArgs object is passed to the event handler, which enables you to determine the command name and command argument of the button that was clicked. Чтобы определить имя команды, используйте CommandEventArgs.CommandName свойство.To determine the command name, use the CommandEventArgs.CommandName property. Чтобы определить аргумент команды, используйте CommandEventArgs.CommandArgument свойство.To determine the command argument, use the CommandEventArgs.CommandArgument property. Для доступа к элементу управления, который вызвал событие, используйте ListViewCommandEventArgs.CommandSource свойство.To access the control that raised the event, use the ListViewCommandEventArgs.CommandSource property.

Дополнительные сведения об обработке событий см. в разделе обработка и вызов событий.For more information about how to handle events, see Handling and Raising Events.

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

Дополнительно