Exporter (0) Imprimer
Développer tout

FormViewCommandEventArgs, classe

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

Fournit des données pour l'événement ItemCommand.

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public class FormViewCommandEventArgs : CommandEventArgs
public class FormViewCommandEventArgs extends CommandEventArgs
public class FormViewCommandEventArgs extends CommandEventArgs

L'événement ItemCommand est déclenché lorsque l'on clique sur un bouton du contrôle FormView. Cela vous permet de fournir une méthode de gestion d'événements qui exécute une routine personnalisée chaque fois que cet événement se produit.

Les boutons d'un contrôle FormView peuvent aussi appeler quelques-unes des fonctionnalités intégrées du contrôle. Pour exécuter l'une de ces opérations, définissez la propriété CommandName d'un bouton avec l'une des valeurs du tableau suivant.

Valeur de CommandName

Description

« Cancel »

Annule une opération de modification ou d'insertion et retourne le contrôle FormView au mode spécifié par la propriété DefaultMode. Déclenche les événements ModeChanged et ModeChanging.

« Delete »

Supprime l'enregistrement actif. Déclenche les événements ItemDeleted et ItemDeleting.

« Edit »

Place le contrôle FormView en mode édition. Déclenche les événements ModeChanged et ModeChanging.

« Insert »

Insère l'enregistrement actif dans la source de données. Déclenche les événements ItemInserted et ItemInserting.

« New »

Place le contrôle FormView en mode insertion. Déclenche les événements ModeChanged et ModeChanging.

« Page »

Exécute une opération de pagination. Affectez à la propriété CommandArgument du bouton la valeur "First", "Last", "Next", "Prev", ou un numéro de page, pour spécifier le type d'opération de pagination à effectuer. Déclenche les événements PageIndexChanged et PageIndexChanging.

« Update »

Met à jour l'enregistrement en cours dans la source de données. Déclenche les événements ItemUpdated et ItemUpdating.

Bien que l'événement ItemCommand soit déclenché en cas de clic sur un bouton répertorié dans le tableau précédent, il est recommandé d'utiliser les événements répertoriés dans le tableau pour l'opération.

Un objet FormViewCommandEventArgs est passé à la méthode de gestion d'événements qui vous permet de déterminer le nom de commande et l'argument de commande associés au bouton sur lequel vous cliquez. Pour déterminer le nom de la commande et son argument, utilisez respectivement les propriétés CommandName et CommandArgument. Vous pouvez également accéder au contrôle bouton qui a déclenché l'événement en utilisant la propriété CommandSource.

Pour plus d'informations sur la gestion des événements, consultez Consommation d'événements.

Pour obtenir la liste des valeurs de propriété initiales d'une instance de la classe FormViewCommandEventArgs, consultez le constructeur FormViewCommandEventArgs.

L'exemple suivant montre comment utiliser l'objet FormViewCommandEventArgs passé à la méthode de gestion d'événements pour l'événement ItemCommand pour déterminer sur quel bouton d'un contrôle FormView l'utilisateur a cliqué.


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

<script runat="server">

  void ProductFormView_ItemCommand(Object sender, FormViewCommandEventArgs e)
  {

    // The ItemCommand event is raised when any button within
    // the FormView control is clicked. Use the CommandName property 
    // to determine which button was clicked. 
    if (e.CommandName == "Add")
    {

      // Add the product to the ListBox control. 
      
      // Use the Row property to retrieve the data row.
      FormViewRow row = ProductFormView.Row;
      
      // Retrieve the ProductNameLabel control from
      // the data row.
      Label productNameLabel = (Label)row.FindControl("ProductNameLabel");

      // Retrieve the QuantityTextBox control from
      // the data row.
      TextBox quantityTextBox = (TextBox)row.FindControl("QuantityTextBox");

      if (productNameLabel != null && quantityTextBox != null)
      {    
        // Get the product name from the ProductNameLabel control.
        string name = productNameLabel.Text;
        
        // Get the quantity from the QuantityTextBox control.
        string quantity = quantityTextBox.Text;

        // Create the text to display in the ListBox control.
        string description = name + " - " + quantity + " Qty";

        // Create a ListItem object using the description and
        // product name.
        ListItem item = new ListItem(description, name);

        // Add the ListItem object to the ListBox.
        ProductListBox.Items.Add(item);

        // Use the CommandSource property to retrieve
        // the Add button. Disable the button after
        // the user adds the currently displayed employee
        // name to the ListBox control.
        Button addButton = (Button)e.CommandSource;
        addButton.Enabled = false;
      }

    }

  }

  void ProductFormView_DataBound(Object sender, EventArgs e)
  {
    
    // To prevent the user from adding duplicate items, 
    // disable the Add button if the item being bound to the 
    // FormView control is already in the ListBox control.
    
    // Use the Row property to retrieve the data row.
    FormViewRow row = ProductFormView.Row;

    // Retrieve the Add button from the data row.
    Button addButton = (Button)row.FindControl("AddButton");

    // Retrieve the ProductNameLabel control from
    // data row.
    Label productNameLabel = (Label)row.FindControl("ProductNameLabel");

    if (addButton != null && productNameLabel != null)
    {
      // Get the product name from the ProductNameLabel 
      // control.
      string name = productNameLabel.Text;

      // Use the FindByValue method to determine whether
      // the ListBox control already contains an entry for
      // the item.
      ListItem item = ProductListBox.Items.FindByValue(name);

      // Disable the Add button if the ListBox control
      // already contains the item.
      if (item != null)
      {
        addButton.Enabled = false;
      }
      else
      {
        addButton.Enabled = true;
      }
    }

  }
    
</script>

<html>
  <body>
    <form runat="server">
        
      <h3>FormViewCommandEventArgs Example</h3>
                       
      <asp:formview id="ProductFormView"
        datasourceid="ProductSource"
        allowpaging="true"
        datakeynames="ProductID"
        onitemcommand="ProductFormView_ItemCommand"
        ondatabound="ProductFormView_DataBound"  
        runat="server">
        
        <itemtemplate>
        
          <table>
            <tr>
              <td width="400px">
                <b>Description:</b>
                <asp:label id="ProductNameLabel"
                  text='<%# Eval("ProductName") %>'
                  runat='server'/>
                <br/>      
                <b>Price:</b>
                <asp:label id="PriceLabel"
                  text='<%# Eval("UnitPrice", "{0:c}") %>'
                  runat='server'/>
                <br/>  
                <asp:textbox id="QuantityTextBox"
                  width="50px"
                  maxlength="3" 
                  runat="server"/> Qty                   
              </td>
            </tr>
            <tr>
              <td>
                <asp:requiredfieldvalidator ID="QuantityRequiredValidator"
                  controltovalidate="QuantityTextBox"
                  text="Please enter a quantity."
                  display="Static"
                  runat="server"/>
                <br/>
                <asp:CompareValidator id="QuantityCompareValidator"
                  controltovalidate="QuantityTextBox"
                  text="Please enter an integer value."
                  display="Static"
                  type="Integer"
                  operator="DataTypeCheck"  
                  runat="server"/>    
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:button id="AddButton"
                  text="Add"
                  commandname="Add"
                  runat="server"/>
              </td>
            </tr>
          </table>
        
        </itemtemplate>
                  
      </asp:formview>
      
      <br/><br/><hr/>
      
      Items:<br/>
      <asp:listbox id="ProductListBox"
        runat="server"/>
          
      <!-- 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="ProductSource"
        selectcommand="Select [ProductID], [ProductName], [UnitPrice] From [Products]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>
            
    </form>
  </body>
</html>


  • AspNetHostingPermission  Pour opérer dans un environnement hébergé. Valeur de demande : LinkDemand ; valeur d'autorisation : Minimal
  • AspNetHostingPermission  Pour opérer dans un environnement hébergé. Valeur de demande : InheritanceDemand ; valeur d'autorisation : Minimal

System.Object
   System.EventArgs
     System.Web.UI.WebControls.CommandEventArgs
      System.Web.UI.WebControls.FormViewCommandEventArgs

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft