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

ObjectDataSourceObjectEventHandler, délégué

Remarque : ce délégué est nouveau dans le .NET Framework version 2.0.

Représente la méthode qui gérera 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 delegate void ObjectDataSourceObjectEventHandler (
	Object sender,
	ObjectDataSourceEventArgs e
)
/** @delegate */
public delegate void ObjectDataSourceObjectEventHandler (
	Object sender, 
	ObjectDataSourceEventArgs e
)
JScript prend en charge l'utilisation de délégués mais pas la déclaration de nouveaux délégués.

Paramètres

sender

Source de l'événement.

e

ObjectDataSourceEventArgs qui contient les données d'événement.

Lorsque vous créez un délégué ObjectDataSourceObjectEventHandler, vous identifiez la méthode qui gérera l'événement. Pour associer l'événement au gestionnaire d'événements, ajoutez une instance du délégué à l'événement. Le gestionnaire d'événements est appelé chaque fois qu'un événement se produit, sauf si vous supprimez le délégué. Pour plus d'informations sur les délégués de gestionnaires d'événements, consultez Consommation d'événements.

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 ne doit être 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 joindre 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 ne peut pas initialiser l'objet métier à l'état désiré. Quelle que soit la raison, vous pouvez instancier l'objet métier vous-même et affecter à l'instance la propriété ObjectInstance de l'objet ObjectDataSourceEventArgs qui est passé au gestionnaire. Ceci est 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 que l'objet métier de base a utilisé dans l'exemple 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;
    }
    
  }

}

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: