Sdílet prostřednictvím


ObjectDataSourceEventArgs Třída

Definice

Poskytuje data pro ObjectCreating ovládací prvek a ObjectCreated události ObjectDataSource .

public ref class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs : EventArgs
type ObjectDataSourceEventArgs = class
    inherit EventArgs
Public Class ObjectDataSourceEventArgs
Inherits EventArgs
Dědičnost
ObjectDataSourceEventArgs

Příklady

Tato část obsahuje dva příklady kódu. První příklad kódu ukazuje použití ObjectDataSource ovládacího prvku s obchodním objektem a ovládacím GridView prvku k načtení a zobrazení informací. Druhý příklad kódu obsahuje příklad základního obchodního objektu, který používá první příklad kódu.

Následující příklad kódu ukazuje použití ObjectDataSource ovládacího prvku s obchodním objektem a ovládacím GridView prvku k načtení a zobrazení informací. V tomto příkladu, stejně jako v mnoha reálných scénářích, nemusí být možné ani vhodné použít výchozí instanci obchodního objektu s ovládacím ObjectDataSource prvku. V tomto příkladu ObjectDataSource nelze úspěšně volat konstruktor bez parametrů, protože vyvolá výjimku. V některých případech může být konstruktor bez parametrů chráněn a v jiných nemusí inicializovat obchodní objekt do požadovaného stavu. Bez ohledu na důvod můžete vytvořit instanci obchodního objektu sami a nastavit instanci na ObjectInstance vlastnost objektu ObjectDataSourceEventArgs , který je předán obslužné rutině. Toto je instance obchodního objektu, kterou ObjectDataSource bude používat k provádění své práce.

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

Následující příklad kódu ukazuje příklad základní obchodní objekt, který používá předchozí příklad kódu.

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

Poznámky

Třída ObjectDataSourceEventArgs se používá v OnObjectCreating metodách a OnObjectCreated poskytuje přístup k instanci obchodního objektu před provedením operací s daty, které používají ObjectDataSource ovládací prvek a obchodní objekt. Obchodní objekt je nastavený a přístupný pomocí ObjectInstance vlastnosti. Přidáním delegáta obslužné rutiny události pro zpracování ObjectCreating události můžete vytvořit instanci obchodního objektu ve vlastním kódu místo ObjectDataSource vytvoření instance. To je užitečné, když chcete, aby nevýstavná instance vašeho obchodního objektu nebo volala konstruktor bez parametrů k vytvoření instance; vždy ObjectDataSource volá konstruktor bez parametrů k vytvoření instance obchodního objektu, se kterým pracuje. Můžete také přidat delegát obslužné rutiny události pro zpracování ObjectCreated události, který umožňuje přístup ke všem veřejně vystaveným členům obchodního objektu, aby provedl další inicializaci nebo práci.

Metody OnObjectCreating a OnObjectCreated metody nejsou volány ovládacím ObjectDataSource prvku, pokud je metoda obchodního objektu, která provádí operace statics daty .

Ovládací ObjectDataSource prvek zveřejňuje mnoho událostí, které můžete zpracovat pro práci s podkladovým obchodním objektem v různých časech jeho životního cyklu. Následující tabulka uvádí události a přidružené EventArgs třídy a delegáty obslužné rutiny událostí.

Zvláštní událost EventArgs EventHandler
ObjectCreating.

Nastane bezprostředně před vytvořením instance obchodního objektu.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
ObjectCreated.

Nastane okamžitě po vytvoření instance obchodního objektu.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
Selecting.

Nastane před načtením dat.
ObjectDataSourceSelectingEventArgs ObjectDataSourceSelectingEventHandler
Inserting, Updating a Deleting.

Nastane před provedením operace vložení, aktualizace nebo odstranění.
ObjectDataSourceMethodEventArgs ObjectDataSourceMethodEventHandler
Selected.

Nastane po načtení dat.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
Inserted, , UpdatedDeleted.

Nastane po dokončení operace vložení, aktualizace nebo odstranění.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
ObjectDisposing.

Nastane před zničením obchodního objektu.
ObjectDataSourceDisposingEventArgs ObjectDataSourceDisposingEventHandler

Konstruktory

Name Description
ObjectDataSourceEventArgs(Object)

Inicializuje novou instanci ObjectDataSourceEventArgs třídy pomocí zadaného objektu.

Vlastnosti

Name Description
ObjectInstance

Získá nebo nastaví objekt, který představuje obchodní objekt, se ObjectDataSource kterým ovládací prvek provádí datové operace.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také