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

Definition

Tritt ein, wenn in einem ListView-Steuerelement auf eine Schaltfläche geklickt wird.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) 

Beispiele

Im folgenden Beispiel wird gezeigt, wie ein ItemCommand Ereignishandler erstellt wird.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>

Hinweise

Das ItemCommand -Ereignis wird ausgelöst, wenn ListView im-Steuerelement auf eine Schaltfläche geklickt wird.The ItemCommand event is raised when a button in the ListView control is clicked. Dies ermöglicht es Ihnen, bei jedem Auftreten dieses Ereignisses eine benutzerdefinierte Routine auszuführen.This enables you to perform a custom routine whenever this event occurs.

Schaltflächen in ListView einem-Steuerelement können auch integrierte Funktionen des-Steuer Elements aufrufen.Buttons in a ListView control can also invoke built-in functionality of the control. In der folgenden Tabelle sind die Werte aufgelistet, die Sie CommandName mit der-Eigenschaft einer Schaltfläche verwenden können, um integrierte Funktionen aufzurufen.The following table lists values that you can use with the CommandName property of a button in order to invoke built-in functionality.

CommandName-WertCommandName value BeschreibungDescription
Jederzeit"Cancel" Bricht einen Bearbeitungs-oder Einfügevorgang ab.Cancels an edit or insert operation. Löst das ItemCanceling-Ereignis aus.Raises the ItemCanceling event.
"Löschen""Delete" Löscht den aktuellen Datensatz aus der Datenquelle.Deletes the current record from the data source. Löst die ItemDeleted Ereignisse ItemDeleting und aus.Raises the ItemDeleted and ItemDeleting events.
Auswahl"Select" Legt die SelectedIndex -Eigenschaft auf DisplayIndex den-Eigenschafts Wert für das Element fest.Sets the SelectedIndex property to the DisplayIndex property value for the item. Rendert SelectedItemTemplate die Vorlage für das Element.Renders the SelectedItemTemplate template for the item. Löst die SelectedIndexChanging Ereignisse SelectedIndexChanged und aus.Raises the SelectedIndexChanging and SelectedIndexChanged events.
Bearbeiten"Edit" Versetzt das Element in den Bearbeitungsmodus.Puts the item in edit mode. Rendert EditItemTemplate die Vorlage für das Element.Renders the EditItemTemplate template for the item. Löst das ItemEditing-Ereignis aus.Raises the ItemEditing event.
Setze"Insert" Fügt die gebundenen Werte aus der InsertItemTemplate Vorlage in die Datenquelle ein.Inserts the bound values from the InsertItemTemplate template into the data source. Löst die ItemInserting Ereignisse ItemInserted und aus.Raises the ItemInserting and ItemInserted events.
Alisierungs"Update" Aktualisiert den aktuellen Datensatz in der Datenquelle mit den gebundenen Werten aus der EditItemTemplate Vorlage.Updates the current record in the data source with the bound values from the EditItemTemplate template. Löst die ItemUpdating Ereignisse ItemUpdated und aus.Raises the ItemUpdating and ItemUpdated events.
Gefährtin"Sort" Sortiert die in der CommandArgument -Eigenschaft der Schaltfläche aufgelisteten Spalten.Sorts the columns listed in the CommandArgument property of the button. Löst die Sorting Ereignisse Sorted und aus.Raises the Sorting and Sorted events.

Das ItemCommand -Ereignis wird auch ausgelöst, wenn auf eine Schaltfläche, die in der vorherigen Tabelle aufgelistet ist, geklickt wird.The ItemCommand event is also raised when a button that is listed in the previous table is clicked. Es wird jedoch empfohlen, die in der Tabelle aufgeführten Ereignisse zu verwenden.However, it is recommended that you use the events listed in the table. Das ItemCommand -Ereignis wird normalerweise verwendet, um benutzerdefinierte Vorgänge zu behandeln.The ItemCommand event is usually used to handle custom operations.

Ein ListViewCommandEventArgs -Objekt wird an den-Ereignishandler übermittelt, mit dem Sie den Befehlsnamen und das Befehls Argument der Schaltfläche, auf die geklickt wurde, bestimmen können.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. Verwenden Sie die CommandEventArgs.CommandName -Eigenschaft, um den Befehlsnamen zu ermitteln.To determine the command name, use the CommandEventArgs.CommandName property. Verwenden Sie die CommandEventArgs.CommandArgument -Eigenschaft, um das Befehls Argument zu ermitteln.To determine the command argument, use the CommandEventArgs.CommandArgument property. Verwenden Sie die ListViewCommandEventArgs.CommandSource -Eigenschaft, um auf das Steuerelement zuzugreifen, das das Ereignis ausgelöst hat.To access the control that raised the event, use the ListViewCommandEventArgs.CommandSource property.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.For more information about how to handle events, see Handling and Raising Events.

Gilt für:

Siehe auch