Sdílet prostřednictvím


ObjectDataSourceEventArgs Třída

Definice

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

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, jak použít ovládací prvek ObjectDataSource s obchodním objektem a ovládací prvek GridView k načtení a zobrazení informací. Druhý příklad kódu poskytuje příklad základního obchodního objektu, který používá první příklad kódu.

Následující příklad kódu ukazuje, jak použít ovládací prvek ObjectDataSource s obchodním objektem a ovládací prvek GridView 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é nebo 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ána obslužné rutině. Toto je instance obchodního objektu ObjectDataSource , kterou použije 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 k poskytnutí přístupu k instanci obchodního objektu před provedením operací s daty, které používají ObjectDataSource ovládací prvek a obchodní objekt. Obchodní objekt se nastavuje a přistupuje k němu pomocí ObjectInstance vlastnosti . Přidáním delegáta obslužné rutiny události pro zpracování ObjectCreating události můžete místo vytváření instance vytvořit instanci obchodního ObjectDataSource objektu ve vlastním kódu. To je užitečné, pokud chcete, aby jiná než výchozí instance obchodního objektu nebo k volání bezparametrového konstruktoru pro 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áta obslužné rutiny události pro zpracování ObjectCreated události, což vám umožní přístup ke všem veřejně vystaveným členům obchodního objektu za účelem provedení jakékoli další inicializace nebo práce.

Metody OnObjectCreating a OnObjectCreated nejsou volána ovládacím ObjectDataSource prvku, pokud je staticmetoda obchodního objektu, která provádí operace s daty, .

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

Událost Eventargs Eventhandler
ObjectCreating.

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

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

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

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

Vyvolá se po načtení dat.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
Inserted, Updated, Deleted.

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

ObjectDataSourceEventArgs(Object)

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

Vlastnosti

ObjectInstance

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

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí hashovací funkce.

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

Type Získá z aktuální instance.

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

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

(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é