ObjectDataSourceEventArgs Klas

Definitie

Biedt gegevens voor de ObjectCreating en ObjectCreated gebeurtenissen van het ObjectDataSource besturingselement.

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

Voorbeelden

Deze sectie bevat twee codevoorbeelden. In het eerste codevoorbeeld ziet u hoe u een ObjectDataSource besturingselement gebruikt met een bedrijfsobject en een GridView besturingselement om informatie op te halen en weer te geven. Het tweede codevoorbeeld bevat het voorbeeld van het basisbedrijfsobject dat in het eerste codevoorbeeld wordt gebruikt.

In het volgende codevoorbeeld ziet u hoe u een ObjectDataSource besturingselement gebruikt met een bedrijfsobject en een GridView besturingselement om informatie op te halen en weer te geven. In dit voorbeeld, zoals in veel praktijkscenario's, is het mogelijk niet mogelijk of niet geschikt om een standaardexemplaren van het bedrijfsobject met het ObjectDataSource besturingselement te gebruiken. In dit voorbeeld kan de ObjectDataSource constructor zonder parameters niet worden aangeroepen omdat er een uitzondering wordt gegenereerd. In sommige gevallen kan de parameterloze constructor worden beveiligd en in andere gevallen wordt het bedrijfsobject mogelijk niet geïnitialiseerd naar een gewenste status. Wat de reden ook is, u kunt zelf een exemplaar van het bedrijfsobject maken en het exemplaar instellen op de ObjectInstance eigenschap van het ObjectDataSourceEventArgs object dat wordt doorgegeven aan de handler. Dit is het zakelijke objectexemplaren waarmee het ObjectDataSource werk wordt uitgevoerd.

<%@ 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>

In het volgende codevoorbeeld ziet u het voorbeeld van het basisbedrijfsobject dat in het voorgaande codevoorbeeld wordt gebruikt.

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

Opmerkingen

De ObjectDataSourceEventArgs klasse wordt gebruikt in de OnObjectCreating en OnObjectCreated methoden om toegang te bieden tot het exemplaar van het bedrijfsobject voordat gegevensbewerkingen die gebruikmaken van het ObjectDataSource besturingselement en het bedrijfsobject worden uitgevoerd. Het zakelijke object wordt ingesteld en geopend met behulp van de ObjectInstance eigenschap. Door een gemachtigde van een gebeurtenishandler toe te voegen om de ObjectCreating gebeurtenis af te handelen, kunt u een exemplaar van het bedrijfsobject maken in aangepaste code in plaats van de ObjectDataSource instantie die de instantie uitvoert. Dit is handig als u een niet-standaardexemplaren van uw bedrijfsobject wilt of een niet-parameterloze constructor wilt aanroepen om het exemplaar te maken; de ObjectDataSource parameterloze constructor altijd aanroept om een exemplaar van het bedrijfsobject te maken waarmee het werkt. U kunt ook een gemachtigde van een gebeurtenishandler toevoegen om de ObjectCreated gebeurtenis af te handelen, zodat u toegang hebt tot alle openbaar blootgestelde leden van het bedrijfsobject om aanvullende initialisatie of werkzaamheden uit te voeren.

De OnObjectCreating en OnObjectCreated methoden worden niet aangeroepen door het ObjectDataSource besturingselement, als de bedrijfsobjectmethode die de gegevensbewerkingen uitvoert, is static.

Het ObjectDataSource besturingselement bevat veel gebeurtenissen die u kunt afhandelen om op verschillende momenten in de levenscyclus met het onderliggende bedrijfsobject te werken. De volgende tabel bevat de gebeurtenissen en de bijbehorende EventArgs klassen en gebeurtenis-handler-gemachtigden.

Gebeurtenis EventArgs EventHandler
ObjectCreating.

Vindt direct plaats voordat het exemplaar van het bedrijfsobject wordt gemaakt.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
ObjectCreated.

Vindt direct plaats nadat het exemplaar van het bedrijfsobject is gemaakt.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
Selecting.

Vindt plaats voordat de gegevens worden opgehaald.
ObjectDataSourceSelectingEventArgs ObjectDataSourceSelectingEventHandler
Inserting, Updating en Deleting.

Vindt plaats voordat een invoeg-, bijwerk- of verwijderbewerking wordt uitgevoerd.
ObjectDataSourceMethodEventArgs ObjectDataSourceMethodEventHandler
Selected.

Vindt plaats nadat de gegevens zijn opgehaald.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
Inserted, , UpdatedDeleted.

Vindt plaats nadat de invoeg-, update- of verwijderbewerking is voltooid.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
ObjectDisposing.

Vindt plaats voordat een zakelijk object wordt vernietigd.
ObjectDataSourceDisposingEventArgs ObjectDataSourceDisposingEventHandler

Constructors

Name Description
ObjectDataSourceEventArgs(Object)

Initialiseert een nieuw exemplaar van de ObjectDataSourceEventArgs klasse met behulp van het opgegeven object.

Eigenschappen

Name Description
ObjectInstance

Hiermee wordt een object opgehaald of ingesteld dat het bedrijfsobject vertegenwoordigt waarmee het ObjectDataSource besturingselement gegevensbewerkingen uitvoert.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook