ListView.ItemCommand Zdarzenie

Definicja

Występuje, gdy ListView zostanie kliknięty przycisk w kontrolce.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) 

Typ zdarzenia

EventHandler<ListViewCommandEventArgs>

Przykłady

Poniższy przykład pokazuje, jak utworzyć ItemCommand procedurę obsługi zdarzeń.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>

Uwagi

ItemCommandZdarzenie jest zgłaszane, gdy kliknięto przycisk w ListView kontrolce.The ItemCommand event is raised when a button in the ListView control is clicked. Dzięki temu można wykonać niestandardową procedurę przy każdym wystąpieniu tego zdarzenia.This enables you to perform a custom routine whenever this event occurs.

Przyciski w ListView kontrolce mogą również wywołać wbudowane funkcje formantu.Buttons in a ListView control can also invoke built-in functionality of the control. W poniższej tabeli wymieniono wartości, których można użyć z CommandName właściwością przycisku w celu wywołania wbudowanej funkcji.The following table lists values that you can use with the CommandName property of a button in order to invoke built-in functionality.

Wartość poleceniaCommandName value OpisDescription
Anulowania"Cancel" Anuluje operację edycji lub wstawiania.Cancels an edit or insert operation. Podnosi ItemCanceling zdarzenie.Raises the ItemCanceling event.
Usunięty"Delete" Usuwa bieżący rekord ze źródła danych.Deletes the current record from the data source. Wywołuje ItemDeleted zdarzenia i ItemDeleting .Raises the ItemDeleted and ItemDeleting events.
Zaznaczenia"Select" Ustawia SelectedIndex Właściwość na DisplayIndex wartość właściwości dla elementu.Sets the SelectedIndex property to the DisplayIndex property value for the item. Renderuje SelectedItemTemplate szablon dla elementu.Renders the SelectedItemTemplate template for the item. Wywołuje SelectedIndexChanging zdarzenia i SelectedIndexChanged .Raises the SelectedIndexChanging and SelectedIndexChanged events.
Edytowania"Edit" Umieszcza element w trybie edycji.Puts the item in edit mode. Renderuje EditItemTemplate szablon dla elementu.Renders the EditItemTemplate template for the item. Podnosi ItemEditing zdarzenie.Raises the ItemEditing event.
Wstawienia"Insert" Wstawia powiązane wartości z InsertItemTemplate szablonu do źródła danych.Inserts the bound values from the InsertItemTemplate template into the data source. Wywołuje ItemInserting zdarzenia i ItemInserted .Raises the ItemInserting and ItemInserted events.
Aktualizacji"Update" Aktualizuje bieżący rekord w źródle danych z wartościami powiązanymi z EditItemTemplate szablonu.Updates the current record in the data source with the bound values from the EditItemTemplate template. Wywołuje ItemUpdating zdarzenia i ItemUpdated .Raises the ItemUpdating and ItemUpdated events.
Porządku"Sort" Sortuje kolumny wymienione we CommandArgument Właściwości przycisku.Sorts the columns listed in the CommandArgument property of the button. Wywołuje Sorting zdarzenia i Sorted .Raises the Sorting and Sorted events.

ItemCommandZdarzenie jest również zgłaszane, gdy kliknięto przycisk wymieniony w poprzedniej tabeli.The ItemCommand event is also raised when a button that is listed in the previous table is clicked. Zaleca się jednak używanie zdarzeń wymienionych w tabeli.However, it is recommended that you use the events listed in the table. ItemCommandZdarzenie jest zwykle używane do obsługi operacji niestandardowych.The ItemCommand event is usually used to handle custom operations.

ListViewCommandEventArgsObiekt jest przekazano do procedury obsługi zdarzeń, co umożliwia określenie nazwy polecenia i argumentu polecenia klikniętego przycisku.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. Aby określić nazwę polecenia, należy użyć CommandEventArgs.CommandName właściwości.To determine the command name, use the CommandEventArgs.CommandName property. Aby określić argument polecenia, należy użyć CommandEventArgs.CommandArgument właściwości.To determine the command argument, use the CommandEventArgs.CommandArgument property. Aby uzyskać dostęp do kontrolki, która wywołała zdarzenie, użyj ListViewCommandEventArgs.CommandSource właściwości.To access the control that raised the event, use the ListViewCommandEventArgs.CommandSource property.

Aby uzyskać więcej informacji o sposobie obsługi zdarzeń, zobacz Obsługa iwywoływanie zdarzeń.For more information about how to handle events, see Handling and Raising Events.

Dotyczy

Zobacz też