ObjectDataSourceEventArgs Klasse

Definition

Stellt Daten für das ObjectCreating-Ereignis und das ObjectCreated-Ereignis des ObjectDataSource-Steuerelements bereit.

public ref class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs : EventArgs
type ObjectDataSourceEventArgs = class
    inherit EventArgs
Public Class ObjectDataSourceEventArgs
Inherits EventArgs
Vererbung
ObjectDataSourceEventArgs

Beispiele

Dieser Abschnitt enthält zwei Codebeispiele. Im ersten Codebeispiel wird veranschaulicht, wie sie ein ObjectDataSource Steuerelement mit einem Geschäftsobjekt und einem GridView Steuerelement zum Abrufen und Anzeigen von Informationen verwenden. Im zweiten Codebeispiel wird das beispiel grundlegende Geschäftsobjekt bereitgestellt, das das erste Codebeispiel verwendet.

Im folgenden Codebeispiel wird veranschaulicht, wie sie ein ObjectDataSource Steuerelement mit einem Geschäftsobjekt und einem GridView Steuerelement zum Abrufen und Anzeigen von Informationen verwenden. In diesem Beispiel, wie in vielen realen Szenarien, kann es möglicherweise nicht möglich sein, 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 werden und in anderen Fällen wird das Geschäftsobjekt möglicherweise nicht in einen gewünschten Zustand initialisiert. Unabhängig vom Grund können Sie eine Instanz des Geschäftsobjekts selbst erstellen und die Instanz auf die ObjectInstance Eigenschaft des ObjectDataSourceEventArgs Objekts festlegen, das an den Handler übergeben wird. Dies ist die Geschäftsobjektinstanz, die ObjectDataSource zum Ausführen seiner 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 grundlegende Geschäftsobjekt veranschaulicht, das das vorherige Codebeispiel verwendet.

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 bereitzustellen, bevor Datenvorgänge ausgeführt werden, die das Steuerelement und das ObjectDataSource Geschäftsobjekt verwenden. Das Geschäftsobjekt wird festgelegt und mithilfe der ObjectInstance Eigenschaft zugegriffen. Durch Hinzufügen eines Ereignishandlerstellvertretungs zum Behandeln ObjectCreating des 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 ruft immer auf, um eine Instanz des Geschäftsobjekts zu erstellen, mit dem es funktioniert. Sie können auch einen Ereignishandlerstellvertretung hinzufügen, um das ObjectCreated Ereignis zu behandeln, wodurch Sie auf alle öffentlich verfügbaren Mitglieder des Geschäftsobjekts zugreifen können, um eine zusätzliche Initialisierung oder Arbeit durchzuführen.

Die OnObjectCreating Methoden OnObjectCreated werden nicht vom ObjectDataSource Steuerelement aufgerufen, wenn die Geschäftsobjektmethode, die die Datenvorgänge ausführt, lautet static.

Das ObjectDataSource Steuerelement stellt viele Ereignisse bereit, 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 Ereignishandlerstellvertretungen aufgeführt.

Ereignis EventArgs EventHandler
ObjectCreating.

Tritt sofort auf, bevor die Instanz des Geschäftsobjekts erstellt wird.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
ObjectCreated.

Tritt unmittelbar nach der Erstellung der Instanz des Geschäftsobjekts auf.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
Selecting.

Tritt auf, bevor die Daten abgerufen werden.
ObjectDataSourceSelectingEventArgs ObjectDataSourceSelectingEventHandler
Inserting, Updatingund Deleting.

Tritt auf, bevor ein Einfügen, Aktualisieren oder Löschenvorgang ausgeführt wird.
ObjectDataSourceMethodEventArgs ObjectDataSourceMethodEventHandler
Selected.

Tritt auf, nachdem die Daten abgerufen wurden.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
Inserted, Updated, Deleted.

Tritt auf, nachdem der Einfügen-, Update- oder Löschvorgang abgeschlossen ist.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
ObjectDisposing.

Tritt auf, bevor ein Geschäftsobjekt zerstört wird.
ObjectDataSourceDisposingEventArgs ObjectDataSourceDisposingEventHandler

Konstruktoren

ObjectDataSourceEventArgs(Object)

Initialisiert eine neue Instanz der ObjectDataSourceEventArgs-Klasse unter Verwendung des angegebenen Objekts.

Eigenschaften

ObjectInstance

Ruft ein Objekt ab, das das Geschäftsobjekt darstellt, mit dem das ObjectDataSource-Steuerelement Datenoperationen ausführt, oder legt dieses fest.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Siehe auch