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 ObjectCreating eventi e ObjectCreated del ObjectDataSource controllo .
public ref class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs : EventArgs
type ObjectDataSourceEventArgs = class
inherit EventArgs
Public Class ObjectDataSourceEventArgs
Inherits EventArgs
- Ereditarietà
Esempio
Questa sezione contiene due esempi di codice. Il primo esempio di codice illustra come usare un ObjectDataSource controllo con un 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 utilizzare un ObjectDataSource controllo con un 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 manualmente e impostare l'istanza sulla ObjectInstance proprietà dell'oggetto ObjectDataSourceEventArgs passato al gestore. Si tratta dell'istanza dell'oggetto ObjectDataSource business che verrà utilizzata da per eseguire il 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 utilizzata nei OnObjectCreating metodi e OnObjectCreated per fornire l'accesso all'istanza dell'oggetto business prima che vengano eseguite operazioni sui dati che utilizzano il controllo e l'oggetto ObjectDataSource business. L'oggetto business viene impostato e accessibile tramite 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 desidera un'istanza non predefinita dell'oggetto business o chiamare un costruttore non senza parametri per creare l'istanza; chiama ObjectDataSource 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 ObjectCreated , che consente di accedere a qualsiasi membro esposto pubblicamente dell'oggetto business per eseguire qualsiasi ulteriore inizializzazione o lavoro.
I OnObjectCreating metodi e OnObjectCreated non vengono chiamati dal controllo , se il ObjectDataSource metodo dell'oggetto business che esegue le operazioni sui dati è static.
Il ObjectDataSource controllo espone molti eventi che è possibile gestire per lavorare con l'oggetto business sottostante in vari momenti del ciclo di vita. Nella tabella seguente sono elencati gli eventi e le classi associate EventArgs e i delegati del gestore eventi.
| Event | 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 del recupero dei dati. |
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 eliminato definitivamente. |
ObjectDataSourceDisposingEventArgs | ObjectDataSourceDisposingEventHandler |
Costruttori
| Nome | Descrizione |
|---|---|
| ObjectDataSourceEventArgs(Object) |
Inizializza una nuova istanza della ObjectDataSourceEventArgs classe utilizzando l'oggetto specificato. |
Proprietà
| Nome | Descrizione |
|---|---|
| ObjectInstance |
Ottiene o imposta un oggetto che rappresenta l'oggetto business con cui il ObjectDataSource controllo esegue operazioni sui dati. |
Metodi
| Nome | Descrizione |
|---|---|
| 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 il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |