Questo argomento non è stato ancora valutato - Valuta questo argomento

Classe DetailsViewModeEventArgs

Nota: questa classe è stata introdotta con .NET Framework versione 2.0.

Fornisce i dati per l'evento ModeChanging.

Spazio dei nomi: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

public class DetailsViewModeEventArgs : CancelEventArgs
public class DetailsViewModeEventArgs extends CancelEventArgs
public class DetailsViewModeEventArgs extends CancelEventArgs

L'evento ModeChanging viene generato quando un controllo DetailsView tenta di passare da una modalità all'altra alternandosi tra le modalità di modifica, inserimento e sola lettura, ma prima che la modalità cambi effettivamente. In questo modo è possibile fornire un gestore eventi in grado di eseguire una routine personalizzata, ad esempio la configurazione del controllo DetailsView per una modalità specifica o l'annullamento del cambiamento di modalità, ogni volta che si verifica questo evento.

Un oggetto DetailsViewModeEventArgs viene passato al gestore eventi ed è quindi possibile determinare la modalità a cui sta passando il controllo DetailsView e stabilire se l'evento ModeChanging è stato generato come risultato dell'annullamento da parte dell'utente di un'operazione di modifica oppure indicare che deve essere annullata un'operazione di inserimento. Per determinare la nuova modalità, utilizzare la proprietà NewMode. È inoltre possibile utilizzare la proprietà NewMode per passare a una modalità alternativa impostandola su uno dei valori dell'enumerazione DetailsViewMode. Utilizzare la proprietà CancelingEdit per determinare se l'utente ha annullato un'operazione di modifica. Per annullare un'operazione di inserimento, impostare la proprietà Cancel su true.

Per ulteriori informazioni sulla gestione di eventi, vedere Utilizzo degli eventi.

Per un elenco dei valori iniziali delle proprietà di un'istanza della classe DetailsViewModeEventArgs, vedere il costruttore DetailsViewModeEventArgs.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare l'oggetto DetailsViewModeEventArgs passato al gestore eventi per l'evento ModeChanging allo scopo di nascondere la riga di spostamento durante il passaggio del controllo DetailsView alla modalità di modifica.


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

<script runat="server">

  void CustomerDetailsView_ModeChanging(Object sender, DetailsViewModeEventArgs e)
  {

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

</script>

<html>
  <body>
    <form runat="server">
        
      <h3>DetailsViewModeEventArgs Example</h3>
                
      <asp:detailsview id="CustomerDetailsView"
        datasourceid="DetailsViewSource"
        datakeynames="CustomerID"
        autogeneraterows="true"
        autogenerateeditbutton="true" 
        allowpaging="true"
        onmodechanging="CustomerDetailsView_ModeChanging" 
        runat="server">

      </asp:detailsview>
      
      <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="DetailsViewSource"
        selectcommand="Select [CustomerID], [CompanyName], [Address], 
          [City], [PostalCode], [Country] From [Customers]"
        updatecommand="Update [Customers] Set 
          [CompanyName]=@CompanyName, [Address]=@Address, 
          [City]=@City, [PostalCode]=@PostalCode, 
          [Country]=@Country 
          Where [CustomerID]=@CustomerID" 
        connectionstring=
          "<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>
            
    </form>
  </body>
</html>


System.Object
   System.EventArgs
     System.ComponentModel.CancelEventArgs
      System.Web.UI.WebControls.DetailsViewModeEventArgs
I membri statici pubblici (Shared in Visual Basic) di questo tipo sono validi per le operazioni multithreading. I membri di istanza non sono garantiti come thread safe.

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 non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

.NET Framework

Supportato in: 2.0
Il documento è risultato utile?
(1500 caratteri rimanenti)

Aggiunte alla community

AGGIUNGI
© 2013 Microsoft. Tutti i diritti riservati.