ObjectDataSourceEventArgs Osztály

Definíció

Adatokat biztosít a ObjectCreating vezérlőről és ObjectCreated az eseményekről ObjectDataSource .

public ref class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs : EventArgs
type ObjectDataSourceEventArgs = class
    inherit EventArgs
Public Class ObjectDataSourceEventArgs
Inherits EventArgs
Öröklődés
ObjectDataSourceEventArgs

Példák

Ez a szakasz két példakódot tartalmaz. Az első példakód bemutatja, hogyan használható egy ObjectDataSource vezérlő egy üzleti objektummal és egy GridView vezérlővel az információk lekérésére és megjelenítésére. A második példakód az első példakód által használt egyszerű üzleti objektumot tartalmazza.

Az alábbi példakód bemutatja, hogyan használható egy ObjectDataSource vezérlő egy üzleti objektummal és egy GridView vezérlővel az információk lekérésére és megjelenítésére. Ebben a példában, mint sok valós forgatókönyv esetében, előfordulhat, hogy nem lehetséges és nem is megfelelő az üzleti objektum alapértelmezett példányának használata a ObjectDataSource vezérlővel. Ebben a példában a ObjectDataSource paraméter nélküli konstruktor nem hívható meg sikeresen, mert kivételt fog eredményezni. Egyes esetekben előfordulhat, hogy a paraméter nélküli konstruktor védett, másokban pedig nem inicializálja az üzleti objektumot a kívánt állapotba. Bármi is legyen az oka, létrehozhatja az üzleti objektum egy példányát, és beállíthatja a példányt annak az objektumnak a ObjectInstanceObjectDataSourceEventArgs tulajdonságára, amelyet a kezelőnek ad át. Ez az az üzleti objektumpéldány, amelyet a ObjectDataSource program a munkájához használ.

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

Az alábbi példakód az előző kód példában használt alapszintű üzleti objektumot mutatja be.

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

Megjegyzések

Az ObjectDataSourceEventArgs osztályt a rendszer az üzleti objektumpéldányhoz való hozzáférés biztosítására használja a OnObjectCreatingOnObjectCreated vezérlőt és az üzleti objektumot használó ObjectDataSource adatműveletek végrehajtása előtt. Az üzleti objektum beállítása és elérése a ObjectInstance tulajdonság használatával történik. Ha egy eseménykezelő delegáltat ad hozzá az ObjectCreating esemény kezeléséhez, az üzleti objektum egy példányát egyéni kódban hozhatja létre a ObjectDataSource példányosítás végrehajtása helyett. Ez akkor hasznos, ha az üzleti objektum nem alapértelmezett példányát vagy nem paraméter nélküli konstruktort szeretne meghívni a példány létrehozásához; a ObjectDataSource mindig meghívja a paraméter nélküli konstruktort annak az üzleti objektumnak a példányának létrehozásához, amellyel dolgozik. Az esemény kezeléséhez ObjectCreated hozzáadhat egy eseménykezelő delegáltat is, amely lehetővé teszi az üzleti objektum nyilvánosan közzétett tagjainak elérését, hogy bármilyen további inicializálást vagy munkát végezzen.

A OnObjectCreating vezérlő nem hívja meg a OnObjectCreatedObjectDataSource metódusokat, ha az adatműveleteket végrehajtó üzleti objektum metódusa.static

A ObjectDataSource vezérlő számos olyan eseményt tesz elérhetővé, amelyeket kezelni tud a mögöttes üzleti objektummal való munkához az életciklus különböző időszakaiban. Az alábbi táblázat az eseményeket és a kapcsolódó EventArgs osztályokat és eseménykezelő meghatalmazottakat sorolja fel.

Esemény EventArgs EventHandler
ObjectCreating.

Közvetlenül az üzleti objektum példányának létrehozása előtt következik be.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
ObjectCreated.

Közvetlenül az üzleti objektum példányának létrehozása után következik be.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
Selecting.

Az adatok lekérése előtt következik be.
ObjectDataSourceSelectingEventArgs ObjectDataSourceSelectingEventHandler
Inserting, Updating, és Deleting.

A beszúrási, frissítési vagy törlési művelet végrehajtása előtt következik be.
ObjectDataSourceMethodEventArgs ObjectDataSourceMethodEventHandler
Selected.

Az adatok lekérése után következik be.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
Inserted, , UpdatedDeleted.

A beszúrási, frissítési vagy törlési művelet befejezése után következik be.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
ObjectDisposing.

Egy üzleti objektum megsemmisítése előtt következik be.
ObjectDataSourceDisposingEventArgs ObjectDataSourceDisposingEventHandler

Konstruktorok

Name Description
ObjectDataSourceEventArgs(Object)

Inicializálja az osztály új példányát ObjectDataSourceEventArgs a megadott objektummal.

Tulajdonságok

Name Description
ObjectInstance

Lekéri vagy beállítja azt az üzleti objektumot, amellyel a ObjectDataSource vezérlő adatműveleteket hajt végre.

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még