Partager via


ObjectDataSourceEventArgs Classe

Définition

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

public ref class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs : EventArgs
type ObjectDataSourceEventArgs = class
    inherit EventArgs
Public Class ObjectDataSourceEventArgs
Inherits EventArgs
Héritage
ObjectDataSourceEventArgs

Exemples

Cette section contient deux exemples de code. Le premier exemple de code montre comment utiliser un ObjectDataSource contrôle avec un objet métier et un GridView contrôle 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 montre comment utiliser un ObjectDataSource contrôle avec un objet métier et un GridView contrôle pour récupérer et afficher des informations. Dans cet exemple, comme dans de nombreux scénarios réels, il peut ne pas être possible ni approprié d’utiliser une instance par défaut de l’objet métier avec le ObjectDataSource contrôle. Dans cet exemple, le ObjectDataSource ne peut pas appeler correctement le constructeur sans paramètre, car il lève une exception. Dans certains cas, le constructeur sans paramètre peut être protégé et dans d’autres, il peut ne pas initialiser l’objet métier à l’état souhaité. Quelle que soit la raison, vous pouvez créer vous-même une instance de l’objet métier et définir le instance sur la ObjectInstance propriété de l’objet ObjectDataSourceEventArgs passé au gestionnaire. Il s’agit de l’objet métier instance que le ObjectDataSource utilisera pour effectuer son travail.

<%@ Import namespace="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
  <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>
<%@ Import namespace="Samples.AspNet.VB" %>
<%@ Page language="vb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Private Sub NorthwindLogicCreating(sender As Object, e As ObjectDataSourceEventArgs)

    ' Create an instance of the business object using a non-default constructor.
    Dim eLogic As EmployeeLogic = New EmployeeLogic("Not created by the default constructor!")
    
    ' Set the ObjectInstance property so that the ObjectDataSource uses the created instance.
    e.ObjectInstance = eLogic
    
End Sub ' NorthwindLogicCreating

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ObjectDataSource - VB 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.VB.EmployeeLogic" >
        </asp:objectdatasource>

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

L’exemple de code suivant illustre l’exemple d’objet métier de base utilisé par l’exemple de code précédent.

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;
    }
  }
}
Imports System.Collections
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace Samples.AspNet.VB
  Public Class EmployeeLogic
    
    
    Public Sub New() 
        Throw New NotSupportedException("Initialize data.")
    
    End Sub
    
    
    Public Sub New(ByVal data As String) 
        _data = data
    
    End Sub
    
    Private _data As String
    
    
    ' Returns a collection of NorthwindEmployee objects.
    Public Function GetAllEmployees() As ICollection 
        Dim al As New ArrayList()
        al.Add(_data)
        Return al
    
    End Function 'GetAllEmployees
  End Class
End Namespace ' Samples.AspNet.VB

Remarques

La ObjectDataSourceEventArgs classe est utilisée dans les OnObjectCreating méthodes et OnObjectCreated pour fournir l’accès à l’objet métier instance avant que toutes les opérations de données qui utilisent le contrôle et l’objet ObjectDataSource métier soient effectuées. L’objet métier est défini et accessible à l’aide de la ObjectInstance propriété . En ajoutant un délégué de gestionnaire d’événements pour gérer l’événementObjectCreating, vous pouvez créer une instance de l’objet métier dans du ObjectDataSource code personnalisé au lieu d’effectuer l’instanciation. Cela est utile lorsque vous souhaitez qu’une instance autre que celle par défaut de votre objet métier ou que vous appeliez un constructeur sans paramètre pour créer le instance ; le ObjectDataSource appelle toujours le constructeur sans paramètre pour créer un instance de l’objet métier avec lequel il fonctionne. Vous pouvez également ajouter un délégué de gestionnaire d’événements pour gérer l’événement ObjectCreated , ce qui vous permet d’accéder à tous les membres exposés publiquement de l’objet métier pour effectuer une initialisation ou un travail supplémentaire.

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

Le ObjectDataSource contrôle expose de nombreux événements que vous pouvez gérer pour travailler avec l’objet métier sous-jacent à différents moments de son cycle de vie. Le tableau suivant répertorie les événements ainsi que les classes et les délégués de gestionnaire d’événements associés EventArgs .

Événement EventArgs EventHandler
ObjectCreating.

Se produit immédiatement avant la création de la 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 que les données ne sont récupérées.
ObjectDataSourceSelectingEventArgs ObjectDataSourceSelectingEventHandler
Inserting, Updatinget Deleting.

Se produit avant qu’une opération d’insertion, de mise à jour ou de suppression ne soit effectuée.
ObjectDataSourceMethodEventArgs ObjectDataSourceMethodEventHandler
Selected.

Se produit après la récupération des données.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
Inserted, Updated, Deleted.

Se produit 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

Constructeurs

ObjectDataSourceEventArgs(Object)

Initialise une nouvelle instance de la classe ObjectDataSourceEventArgs à l'aide de l'objet spécifié.

Propriétés

ObjectInstance

Obtient ou définit un objet qui représente l'objet métier avec lequel le contrôle ObjectDataSource exécute des opérations de données.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi