Cette documentation est archivée et n’est pas conservée.

FormView.ModeChanging, événement

Remarque : cet événement est nouveau dans le .NET Framework version 2.0.

Se produit lorsque le contrôle FormView bascule entre les modes édition, insertion et lecture seule, mais avant le changement de mode.

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

public event FormViewModeEventHandler ModeChanging
/** @event */
public void add_ModeChanging (FormViewModeEventHandler value)

/** @event */
public void remove_ModeChanging (FormViewModeEventHandler value)

JScript prend en charge l'utilisation d'événements mais pas la déclaration de nouveaux événements.

L'événement ModeChanging est déclenché lorsqu'un contrôle FormView tente de basculer entre les modes édition, insertion et lecture seule, mais avant que le mode ne change réellement. Cela vous permet de fournir une méthode de gestion d'événements qui exécute une routine personnalisée, par exemple la configuration du contrôle FormView pour un mode spécifique ou l'annulation de la modification du mode, chaque fois que cet événement se produit.

Un objet FormViewModeEventArgs est passé à la méthode de gestion d'événements qui vous permet de déterminer le mode vers lequel le contrôle FormView bascule, pour déterminer si l'événement ModeChanging a été déclenché à la suite de l'annulation par l'utilisateur d'une opération de modification ou pour indiquer qu'une opération d'insertion doit être annulée. Pour déterminer le nouveau mode, utilisez la propriété NewMode. Vous pouvez également utiliser la propriété NewMode pour basculer vers un autre mode en lui affectant l'une des valeurs d'énumération FormViewMode. Utilisez la propriété CancelingEdit pour déterminer si l'utilisateur a annulé une opération de modification. Pour annuler une opération d'insertion, affectez true à la propriété Cancel.

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

L'exemple suivant montre comment utiliser l'événement ModeChanging pour masquer la ligne de pagineur lorsque le contrôle FormView passe en mode édition.


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

<script runat="server">

  void EmployeeFormView_ModeChanging(Object sender, FormViewModeEventArgs e)
  {

    // Use the NewMode property to determine the mode to which the 
    // FormView control is transitioning.
    switch (e.NewMode)
    {
      case FormViewMode.Edit:
        // Hide the pager row and clear the Label control
        // when transitioning to edit mode.
        EmployeeFormView.AllowPaging = false;
        MessageLabel.Text = "";
        break;
      case FormViewMode.ReadOnly:
        // Display the pager row and confirmation message
        // when transitioning to edit mode.
        EmployeeFormView.AllowPaging = true;
        if (e.CancelingEdit)
        {
          MessageLabel.Text = "Update canceled.";
        }
        else
        {
          MessageLabel.Text = "Update completed.";
        }
        break;
      case FormViewMode.Insert:
        // Cancel the mode change if the FormView
        // control attempts to transition to insert 
        // mode.
        e.Cancel = true;
        break;
      default:
        MessageLabel.Text = "Unsupported mode.";
        break;
    }

  }

</script>

<html>
  <body>
    <form runat="server">
        
      <h3>FormViewModeEventArgs Example</h3>
                       
      <asp:formview id="EmployeeFormView"
        datasourceid="EmployeeSource"
        allowpaging="true"
        datakeynames="EmployeeID"
        emptydatatext="No employees found."
        onmodechanging="EmployeeFormView_ModeChanging"  
        runat="server">
        
        <itemtemplate>
          <table>
            <tr>
              <td rowspan="6">
                <asp:image id="EmployeeImage"
                  imageurl='<%# Eval("PhotoPath") %>'
                  alternatetext='<%# Eval("LastName") %>' 
                  runat="server"/>
              </td>
              <td colspan="2">
                  &nbsp; 
              </td>
            </tr>
            <tr>
              <td>
                <b>Name:</b>
              </td>
              <td>
                <%# Eval("FirstName") %> <%# Eval("LastName") %>
              </td>
            </tr>
            <tr>
              <td>
                <b>Title:</b>
              </td>
              <td>
                <%# Eval("Title") %>
              </td>
            </tr>
            <tr>
              <td>
                <b>Hire Date:</b>                 
              </td>
              <td>
                <%# Eval("HireDate","{0:d}") %>
              </td>
            </tr>
            <tr height="150" valign="top">
              <td>
                <b>Address:</b>
              </td>
              <td>
                <%# Eval("Address") %><br/>
                <%# Eval("City") %> <%# Eval("Region") %>
                <%# Eval("PostalCode") %><br/>
                <%# Eval("Country") %>   
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:linkbutton id="Edit"
                  text="Edit"
                  commandname="Edit"
                  runat="server"/> 
              </td>
            </tr>
          </table>       
        </itemtemplate>
        <edititemtemplate>
          <table>
            <tr>
              <td rowspan="6">
                <asp:image id="EmployeeEditImage"
                  imageurl='<%# Eval("PhotoPath") %>'
                  alternatetext='<%# Eval("LastName") %>' 
                  runat="server"/>
              </td>
              <td colspan="2">
                  &nbsp; 
              </td>
            </tr>
            <tr>
              <td>
                <b>Name:</b>
              </td>
              <td>
                <asp:textbox id="FirstNameUpdateTextBox"
                  text='<%# Bind("FirstName") %>'
                  runat="server"/>
                <asp:textbox id="LastNameUpdateTextBox"
                  text='<%# Bind("LastName") %>'
                  runat="server"/>
              </td>
            </tr>
            <tr>
              <td>
                <b>Title:</b>
              </td>
              <td>
                <asp:textbox id="TitleUpdateTextBox"
                  text='<%# Bind("Title") %>'
                  runat="server"/> 
              </td>
            </tr>
            <tr>
              <td>
                <b>Hire Date:</b>                 
              </td>
              <td>
                <asp:textbox id="HireDateUpdateTextBox"
                  text='<%# Bind("HireDate", "{0:d}") %>'
                  runat="server"/>
              </td>
            </tr>
            <tr height="150" valign="top">
              <td>
                <b>Address:</b>
              </td>
              <td>
                <asp:textbox id="AddressUpdateTextBox"
                  text='<%# Bind("Address") %>'
                  runat="server"/>
                <br/>
                <asp:textbox id="CityUpdateTextBox"
                  text='<%# Bind("City") %>'
                  runat="server"/> 
                <asp:textbox id="RegionUpdateTextBox"
                  text='<%# Bind("Region") %>'
                  width="40"
                  runat="server"/>
                <asp:textbox id="PostalCodeUpdateTextBox"
                  text='<%# Bind("PostalCode") %>'
                  width="60"
                  runat="server"/>
                <br/>
                <asp:textbox id="CountryUpdateTextBox"
                  text='<%# Bind("Country") %>'
                  runat="server"/> 
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:linkbutton id="UpdateButton"
                  text="Update"
                  commandname="Update"
                  runat="server"/>
                <asp:linkbutton id="CancelButton"
                  text="Cancel"
                  commandname="Cancel"
                  runat="server"/> 
              </td>
            </tr>
          </table>       
        </edititemtemplate>
                  
      </asp:formview>
      
      <br/><br/>
      
      <asp:label id="MessageLabel"
          forecolor="Red"
          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="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName], [Title], [Address], [City], [Region], [PostalCode], [Country], [HireDate], [PhotoPath] From [Employees]"
        updatecommand="Update [Employees] Set [LastName]=@LastName, [FirstName]=@FirstName, [Title]=@Title, [Address]=@Address, [City]=@City, [Region]=@Region, [PostalCode]=@PostalCode, [Country]=@Country Where [EmployeeID]=@EmployeeID"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>
            
    </form>
  </body>
</html>


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
Afficher: