ObjectDataSourceEventArgs Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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 .
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) |