ObjectDataSourceEventArgs Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Daten für die ObjectCreating Und ObjectCreated Ereignisse des ObjectDataSource Steuerelements bereit.
public ref class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs : EventArgs
type ObjectDataSourceEventArgs = class
inherit EventArgs
Public Class ObjectDataSourceEventArgs
Inherits EventArgs
- Vererbung
Beispiele
Dieser Abschnitt enthält zwei Codebeispiele. Das erste Codebeispiel veranschaulicht die Verwendung eines ObjectDataSource Steuerelements mit einem Geschäftsobjekt und einem GridView Steuerelement zum Abrufen und Anzeigen von Informationen. Das zweite Codebeispiel stellt das grundlegende Geschäftsobjekt bereit, das im ersten Codebeispiel verwendet wird.
Im folgenden Codebeispiel wird die Verwendung eines ObjectDataSource Steuerelements mit einem Geschäftsobjekt und einem GridView Steuerelement zum Abrufen und Anzeigen von Informationen veranschaulicht. In diesem Beispiel, wie in vielen realen Szenarien, ist es möglicherweise nicht möglich oder angemessen, eine Standardinstanz des Geschäftsobjekts mit dem ObjectDataSource Steuerelement zu verwenden. In diesem Beispiel kann der ObjectDataSource parameterlose Konstruktor nicht erfolgreich aufgerufen werden, da er eine Ausnahme auslöst. In einigen Fällen kann der parameterlose Konstruktor geschützt sein, und in anderen wird das Geschäftsobjekt möglicherweise nicht in einen gewünschten Zustand initialisiert. Unabhängig vom Grund können Sie selbst eine Instanz des Geschäftsobjekts erstellen und die Instanz auf die ObjectInstance Eigenschaft des ObjectDataSourceEventArgs Objekts festlegen, das an den Handler übergeben wird. Dies ist die Geschäftsobjektinstanz, die zum ObjectDataSource Ausführen ihrer Arbeit verwendet wird.
<%@ 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>
Im folgenden Codebeispiel wird das beispiel für einfache Geschäftsobjekt veranschaulicht, das im vorherigen Codebeispiel verwendet wird.
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
Hinweise
Die ObjectDataSourceEventArgs Klasse wird in den OnObjectCreating Und OnObjectCreated Methoden verwendet, um Zugriff auf die Geschäftsobjektinstanz zu ermöglichen, bevor Datenvorgänge ausgeführt werden, die das ObjectDataSource Steuerelement und das Geschäftsobjekt verwenden. Das Geschäftsobjekt wird mithilfe der ObjectInstance Eigenschaft festgelegt und darauf zugegriffen. Durch Hinzufügen eines Ereignishandlerdelegats zum Behandeln des ObjectCreating Ereignisses können Sie eine Instanz des Geschäftsobjekts im benutzerdefinierten Code erstellen, anstatt die ObjectDataSource Instanziierung auszuführen. Dies ist nützlich, wenn Sie eine nicht standardmäßige Instanz Ihres Geschäftsobjekts oder einen nicht parameterlosen Konstruktor aufrufen möchten, um die Instanz zu erstellen. der ObjectDataSource parameterlose Konstruktor immer aufruft, um eine Instanz des Geschäftsobjekts zu erstellen, mit dem es arbeitet. Sie können auch einen Ereignishandlerdelegat zum Behandeln des ObjectCreated Ereignisses hinzufügen, wodurch Sie auf alle öffentlich verfügbar gemachten Member des Geschäftsobjekts zugreifen können, um zusätzliche Initialisierungen oder Arbeiten auszuführen.
Die OnObjectCreating Methoden und OnObjectCreated Methoden werden nicht vom ObjectDataSource Steuerelement aufgerufen, wenn die Geschäftsobjektmethode, die die Datenvorgänge ausführt, lautet static.
Das ObjectDataSource Steuerelement macht viele Ereignisse verfügbar, die Sie behandeln können, um mit dem zugrunde liegenden Geschäftsobjekt zu verschiedenen Zeiten im Lebenszyklus zu arbeiten. In der folgenden Tabelle sind die Ereignisse und die zugehörigen EventArgs Klassen und Ereignishandlerdelegat aufgeführt.
Konstruktoren
| Name | Beschreibung |
|---|---|
| ObjectDataSourceEventArgs(Object) |
Initialisiert eine neue Instanz der ObjectDataSourceEventArgs Klasse mithilfe des angegebenen Objekts. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| ObjectInstance |
Dient zum Abrufen oder Festlegen eines Objekts, das das Geschäftsobjekt darstellt, mit dem das ObjectDataSource Steuerelement Datenvorgänge ausführt. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |