Exporter (0) Imprimer
Développer tout
Développer Réduire

ObjectDataSourceObjectEventHandler, délégué

Mise à jour : novembre 2007

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 ne prend pas en charge les délégués.

Paramètres

sender
Type : System.Object

Source de l'événement.

e
Type : System.Web.UI.WebControls.ObjectDataSourceEventArgs

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#" %>
<!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>


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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft