Condividi tramite


ObjectDataSourceEventArgs Classe

Definizione

Fornisce i dati per gli eventi ObjectCreating e ObjectCreated del controllo ObjectDataSource.

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

Esempio

In questa sezione sono riportati due esempi di codice. Il primo esempio di codice illustra come usare un controllo con un ObjectDataSource oggetto business e un GridView controllo per recuperare e visualizzare informazioni. Il secondo esempio di codice fornisce l'oggetto business di base di esempio usato dal primo esempio di codice.

Nell'esempio di codice seguente viene illustrato come usare un controllo con un ObjectDataSource oggetto business e un GridView controllo per recuperare e visualizzare informazioni. In questo esempio, come in molti scenari reali, potrebbe non essere possibile né appropriato usare un'istanza predefinita dell'oggetto business con il ObjectDataSource controllo. In questo esempio non ObjectDataSource è possibile chiamare correttamente il costruttore senza parametri perché genererà un'eccezione. In alcuni casi, il costruttore senza parametri potrebbe essere protetto e in altri potrebbe non inizializzare l'oggetto business in uno stato desiderato. Indipendentemente dal motivo, è possibile creare un'istanza dell'oggetto business autonomamente e impostare l'istanza sulla ObjectInstance proprietà dell'oggetto ObjectDataSourceEventArgs passato al gestore. Si tratta dell'istanza dell'oggetto ObjectDataSource business che verrà usata per eseguire il suo lavoro.

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

Nell'esempio di codice seguente viene illustrato l'oggetto business di base di esempio usato dall'esempio di codice precedente.

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

Commenti

La ObjectDataSourceEventArgs classe viene usata nei OnObjectCreating metodi e OnObjectCreated per fornire l'accesso all'istanza dell'oggetto business prima che vengano eseguite operazioni sui dati che usano il controllo e l'oggetto ObjectDataSource business. L'oggetto business viene impostato e accessibile usando la ObjectInstance proprietà . Aggiungendo un delegato del gestore eventi per gestire l'evento ObjectCreating , è possibile creare un'istanza dell'oggetto business nel codice personalizzato anziché eseguire ObjectDataSource l'istanza. Ciò è utile quando si vuole un'istanza non predefinita dell'oggetto business o chiamare un costruttore senza parametri per creare l'istanza; il ObjectDataSource chiama sempre il costruttore senza parametri per creare un'istanza dell'oggetto business con cui funziona. È anche possibile aggiungere un delegato del gestore eventi per gestire l'evento, che consente di accedere a qualsiasi membro esposto pubblicamente dell'oggetto ObjectCreated business per eseguire qualsiasi ulteriore inizializzazione o lavoro.

I OnObjectCreating metodi e OnObjectCreated non vengono chiamati dal controllo, se il metodo dell'oggetto ObjectDataSource business che esegue le operazioni di dati è static.

Il ObjectDataSource controllo espone molti eventi che è possibile gestire per usare l'oggetto business sottostante in vari momenti del ciclo di vita. Nella tabella seguente sono elencati gli eventi e le EventArgs classi associate e i delegati del gestore eventi.

Evento EventArgs Eventhandler
ObjectCreating.

Si verifica immediatamente prima della creazione dell'istanza dell'oggetto business.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
ObjectCreated.

Si verifica immediatamente dopo la creazione dell'istanza dell'oggetto business.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
Selecting.

Si verifica prima che i dati vengano recuperati.
ObjectDataSourceSelectingEventArgs ObjectDataSourceSelectingEventHandler
Inserting, Updatinge Deleting.

Si verifica prima dell'esecuzione di un'operazione di inserimento, aggiornamento o eliminazione.
ObjectDataSourceMethodEventArgs ObjectDataSourceMethodEventHandler
Selected.

Si verifica dopo il recupero dei dati.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
Inserted, Updated, Deleted.

Si verifica dopo il completamento dell'operazione di inserimento, aggiornamento o eliminazione.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
ObjectDisposing.

Si verifica prima che un oggetto business venga distrutto.
ObjectDataSourceDisposingEventArgs ObjectDataSourceDisposingEventHandler

Costruttori

ObjectDataSourceEventArgs(Object)

Inizializza una nuova istanza della classe ObjectDataSourceEventArgs utilizzando l'oggetto specificato.

Proprietà

ObjectInstance

Ottiene o imposta un oggetto che rappresenta l'oggetto business con cui il controllo ObjectDataSource esegue le operazioni dati.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche