ObjectDataSourceEventArgs Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
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) |