Partager via


ObjectDataSourceEventArgs Classe

Définition

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

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 que le premier exemple de code utilise.

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 constructeur sans paramètre 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 à un état souhaité. Quelle que soit la raison, vous pouvez créer une instance de l’objet métier vous-même et définir l’instance sur la ObjectInstance propriété de l’objet ObjectDataSourceEventArgs passé au gestionnaire. Il s’agit de l’instance ObjectDataSource d’objet métier utilisée 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 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;
    }
  }
}
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 méthodes et OnObjectCreated les OnObjectCreating méthodes pour fournir l’accès à l’instance d’objet métier avant toute opération de données qui utilise le ObjectDataSource contrôle et l’objet métier sont 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énement ObjectCreating , vous pouvez créer une instance de l’objet métier dans du code personnalisé au lieu d’exécuter l’instanciation ObjectDataSource . Cela est utile lorsque vous souhaitez une instance non par défaut de votre objet métier ou appeler un constructeur sans paramètre pour créer l’instance ; appelle ObjectDataSource toujours le constructeur sans paramètre pour créer une 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émentaires.

Les OnObjectCreating méthodes et OnObjectCreated les méthodes 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 et les classes et 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 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, Updatinget Deleting.

Se produire avant l’exécution d’une opération d’insertion, de mise à jour ou de suppression.
ObjectDataSourceMethodEventArgs ObjectDataSourceMethodEventHandler
Selected.

Se produit une fois les données récupéré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

Nom Description
ObjectDataSourceEventArgs(Object)

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

Propriétés

Nom Description
ObjectInstance

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

Méthodes

Nom Description
Equals(Object)

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

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

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

(Hérité de Object)

S’applique à

Voir aussi