Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
ObjectDataSourceEventArgs, classe
Collapse the table of content
Expand the table of content

ObjectDataSourceEventArgs, classe

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

Fournit des données pour les événements ObjectCreating et ObjectCreated du contrôle ObjectDataSource.

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

public class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs extends EventArgs
public class ObjectDataSourceEventArgs extends EventArgs

La classe ObjectDataSourceEventArgs est utilisée dans les méthodes OnObjectCreating et OnObjectCreated pour fournir un accès à l'instance de l'objet métier avant que toute opération de données utilisant le contrôle ObjectDataSource et l'objet métier ne soit effectuée. L'objet métier est défini et son accès s'effectue à l'aide de la propriété ObjectInstance. En ajoutant un délégué de gestionnaire d'événements pour gérer l'événement ObjectCreating, vous pouvez créer une instance de l'objet métier dans un code personnalisé au lieu de ObjectDataSource qui exécute l'instanciation. Ceci est utile lorsque vous souhaitez une instance non définie par défaut de votre objet métier ou souhaitez appeler un constructeur non défini par défaut pour créer l'instance ; ObjectDataSource appelle toujours le constructeur par défaut pour créer une instance de l'objet métier avec lequel elle travaille. Vous pouvez également ajouter un délégué de gestionnaire d'événements pour gérer l'événement ObjectCreated qui vous permet d'accéder à tous les membres de l'objet métier exposés publiquement pour exécuter toute initialisation ou travail supplémentaire.

Les méthodes OnObjectCreating et OnObjectCreated ne sont pas appelées par le contrôle ObjectDataSource, si la méthode de l'objet métier qui exécute les opérations de données est static.

Le contrôle ObjectDataSource expose plusieurs événements que vous pouvez gérer pour utiliser l'objet métier sous-jacent à divers stades de son cycle de vie. Le tableau suivant répertorie les événements et les classes EventArgs et délégués de gestionnaires d'événements associés.

Événement

EventArgs

EventHandler

ObjectCreating.

Se produit immédiatement avant la création de l'instance de l'objet métier.

ObjectDataSourceEventArgs

ObjectDataSourceObjectEventHandler

ObjectCreated.

Se produit immédiatement après la création de l'instance de l'objet métier.

ObjectDataSourceEventArgs

ObjectDataSourceObjectEventHandler

Selecting.

Se produit avant la récupération des données.

ObjectDataSourceSelectingEventArgs

ObjectDataSourceSelectingEventHandler

Inserting, Updating et Deleting.

Se produisent avant une opération d'insertion, de mise à jour ou de suppression.

ObjectDataSourceMethodEventArgs

ObjectDataSourceMethodEventHandler

Selected.

Se produit après la récupération des données.

ObjectDataSourceStatusEventArgs

ObjectDataSourceStatusEventHandler

Inserted, Updated, Deleted.

Se produisent une fois l'opération d'insertion, de mise à jour ou de suppression terminée.

ObjectDataSourceStatusEventArgs

ObjectDataSourceStatusEventHandler

ObjectDisposing.

Se produit avant la destruction d'un objet métier.

ObjectDataSourceDisposingEventArgs

ObjectDataSourceDisposingEventHandler

Cette section comprend deux exemples de code. Le premier exemple de code illustre comment utiliser un contrôle ObjectDataSource avec un objet métier et un contrôle GridView pour récupérer et afficher des informations. Le deuxième exemple de code fournit l'exemple d'objet métier de base utilisé par le premier exemple de code.

L'exemple de code suivant illustre comment utiliser un contrôle ObjectDataSource avec un objet métier et un contrôle GridView pour récupérer et afficher des informations. Dans cet exemple, comme dans beaucoup de scénarios réels, il est probable qu'il ne soit ni possible, ni approprié d'utiliser une instance de l'objet métier par défaut avec le contrôle ObjectDataSource. Dans cet exemple, ObjectDataSource ne peut pas appeler le constructeur par défaut, parce qu'il lèvera une exception. Dans certains cas, le constructeur par défaut peut être protégé et dans d'autres, il se peut qu'il n'initialise pas l'objet métier à l'état désiré. Quelle que soit la raison, vous pouvez vous-même créer une instance de l'objet métier et affecter à l'instance la propriété ObjectInstance de l'objet ObjectDataSourceEventArgs qui est passé au gestionnaire. Il s'agit de l'instance de l'objet métier que ObjectDataSource utilisera pour exécuter son travail.

<%@ Import namespace="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<Script runat="server">
private void NorthwindLogicCreating(object sender, ObjectDataSourceEventArgs e)
{
    // Create an instance of the business object using a non-default constructor.
    EmployeeLogic eLogic = new EmployeeLogic("Not created by the default constructor!");
    
    // Set the ObjectInstance property so that the ObjectDataSource uses the created instance.
    e.ObjectInstance = eLogic;
}

</Script>
<html>
  <head>
    <title>ObjectDataSource - C# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1">
        </asp:gridview>

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          onobjectcreating="NorthwindLogicCreating"
          typename="Samples.AspNet.CS.EmployeeLogic" >
        </asp:objectdatasource>

    </form>
  </body>
</html>

L'exemple de code suivant illustre l'exemple d'objet métier de base que l'exemple de code précédent utilise.

namespace Samples.AspNet.CS {

using System;
using System.Collections;
using System.Web.UI;
using System.Web.UI.WebControls;

  public class EmployeeLogic {

    public EmployeeLogic() {  
        throw new NotSupportedException("Initialize data.");
    }
    
    public EmployeeLogic(string data) {
        _data = data;
    }

    private string _data;
    
    // Returns a collection of NorthwindEmployee objects.
    public ICollection GetAllEmployees () {
      ArrayList al = new ArrayList();      
      al.Add(_data);        
      return al;
    }
    
  }

}

  • 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.ObjectDataSourceEventArgs

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:
© 2015 Microsoft