0 von 1 fanden dies hilfreich - Dieses Thema bewerten.

GridViewCommandEventArgs-Klasse

Hinweis: Diese Klasse ist neu in .NET Framework, Version 2.0.

Stellt Daten für das RowCommand-Ereignis bereit.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

public class GridViewCommandEventArgs : CommandEventArgs
public class GridViewCommandEventArgs extends CommandEventArgs
public class GridViewCommandEventArgs extends CommandEventArgs

Das RowCommand-Ereignis wird durch Klicken auf eine Schaltfläche im GridView-Steuerelement ausgelöst. Dadurch können Sie eine Ereignisbehandlungsmethode bereitstellen, die bei jedem Auftreten dieses Ereignisses eine benutzerdefinierte Routine durchführt.

HinweisHinweis

Das GridView-Steuerelement löst auch andere spezielle Ereignisse aus, wenn auf bestimmte Schaltflächen geklickt wird (Schaltflächen, bei denen die CommandName-Eigenschaft z. B. auf "Delete", "Update" und "Page" festgelegt wurde). Wenn Sie eine dieser Schaltflächen verwenden, sollten Sie eines der speziellen Ereignisse behandeln, die vom Steuerelement bereitgestellt werden (z. B. RowDeleted oder RowDeleting).

Ein GridViewCommandEventArgs-Objekt wird an die Ereignisbehandlungsmethode übergeben, mit deren Hilfe Sie den Befehlsnamen und das Befehlsargument der Schaltfläche bestimmen können, auf die geklickt wurde. Verwenden Sie die CommandName-Eigenschaft bzw. die CommandArgument-Eigenschaft, um den Befehlsnamen und das Befehlsargument zu bestimmen. Sie können auch die CommandSource-Eigenschaft verwenden, um auf das Schaltflächen-Steuerelement zuzugreifen, durch das das Ereignis ausgelöst wurde.

Weitere Informationen über die Behandlung von Ereignissen finden Sie unter Behandeln von Ereignissen.

Eine Liste der anfänglichen Eigenschaftenwerte für eine Instanz von GridViewCommandEventArgs finden Sie unter GridViewCommandEventArgs-Konstruktor.

Das folgende Beispiel veranschaulicht, wie Sie mithilfe des an die Ereignisbehandlungsmethode übergebenen GridViewCommandEventArgs-Objekts den Befehlsnamen der Schaltfläche bestimmen können, die das Ereignis ausgelöst hat.


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

<script runat="server">

  void CustomersGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
  {
    // If multiple buttons are used in a GridView control, use the
    // CommandName property to determine which button was clicked.
    if(e.CommandName=="Add")
    {
      // Convert the row index stored in the CommandArgument
      // property to an Integer.
      int index = Convert.ToInt32(e.CommandArgument);
            
      // Retrieve the row that contains the button clicked 
      // by the user from the Rows collection.
      GridViewRow row = CustomersGridView.Rows[index];
            
      // Create a new ListItem object for the customer in the row.     
      ListItem item = new ListItem();
      item.Text = Server.HtmlDecode(row.Cells[2].Text);
            
      // If the customer is not already in the ListBox, add the ListItem 
      // object to the Items collection of the ListBox control. 
      if (!CustomersListBox.Items.Contains(item))
      {
        CustomersListBox.Items.Add(item);
      }           
    }
  }

  void CustomersGridView_RowCreated(Object sender, GridViewRowEventArgs e)
  {
    
    // The GridViewCommandEventArgs class does not contain a 
    // property that indicates which row's command button was
    // clicked. To identify which row's button was clicked, use 
    // the button's CommandArgument property by setting it to the 
    // row's index.
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
      // Retrieve the LinkButton control from the first column.
      LinkButton addButton = (LinkButton)e.Row.Cells[0].Controls[0];
          
      // Set the LinkButton's CommandArgument property with the
      // row's index.
      addButton.CommandArgument = e.Row.RowIndex.ToString();
    }

  }
    
</script>

<html>
  <body>
    <form runat="server">
        
      <h3>GridView RowCommand Example</h3>
            
      <table width="100%">         
        <tr>                
          <td width="50%">
                    
            <asp:gridview id="CustomersGridView" 
              datasourceid="CustomersSource"
              allowpaging="true" 
              autogeneratecolumns="false"
              onrowcommand="CustomersGridView_RowCommand"
              onrowcreated="CustomersGridView_RowCreated"  
              runat="server">
                
              <columns>
                <asp:buttonfield buttontype="Link" 
                  commandname="Add" 
                  text="Add"/>
                <asp:boundfield datafield="CustomerID" 
                  headertext="Customer ID"/>
                <asp:boundfield datafield="CompanyName" 
                  headertext="Company Name"/> 
                <asp:boundfield datafield="City" 
                  headertext="City"/>         
              </columns>
                
            </asp:gridview>
                    
          </td>
                    
          <td valign="top" width="50%">
                    
            Customers: <br/>
            <asp:listbox id="CustomersListBox"
              runat="server"/> 
                    
          </td>  
        </tr>      
      </table>
            
      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file.                            -->
      <asp:sqldatasource id="CustomersSource"
        selectcommand="Select [CustomerID], [CompanyName], [City] From [Customers]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>
            
    </form>
  </body>
</html>


System.Object
   System.EventArgs
     System.Web.UI.WebControls.CommandEventArgs
      System.Web.UI.WebControls.GridViewCommandEventArgs
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
© 2013 Microsoft. Alle Rechte vorbehalten.