ObjectDataSourceEventArgs Classe

Definição

Fornece dados para os ObjectCreating eventos e ObjectCreated do ObjectDataSource controlo.

public ref class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs : EventArgs
type ObjectDataSourceEventArgs = class
    inherit EventArgs
Public Class ObjectDataSourceEventArgs
Inherits EventArgs
Herança
ObjectDataSourceEventArgs

Exemplos

Esta seção contém dois exemplos de código. O primeiro exemplo de código demonstra como usar um ObjectDataSource controlo com um objeto de negócio e um GridView controlo para recuperar e mostrar informação. O segundo exemplo de código fornece o exemplo de objeto de negócio básico que o primeiro exemplo de código utiliza.

O exemplo de código seguinte demonstra como usar um ObjectDataSource controlo com um objeto de negócio e um GridView controlo para recuperar e mostrar informação. Neste exemplo, como em muitos cenários do mundo real, pode não ser possível nem apropriado usar uma instância padrão do objeto de negócio com o ObjectDataSource controlo. Neste exemplo, o ObjectDataSource não pode chamar com sucesso o construtor sem parâmetros porque este lançará uma exceção. Em alguns casos, o construtor sem parâmetros pode estar protegido e, noutros, pode não inicializar o objeto de negócio para o estado desejado. Seja qual for a razão, pode criar uma instância do objeto de negócio por si próprio e definir a instância para a ObjectInstance propriedade do ObjectDataSourceEventArgs objeto que é passada ao handler. Esta é a instância do objeto de negócio que a ObjectDataSource entidade utilizará para realizar o seu trabalho.

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

O exemplo de código seguinte demonstra o exemplo de objeto de negócio básico que o exemplo de código anterior utiliza.

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

Observações

A ObjectDataSourceEventArgs classe é usada nos OnObjectCreating métodos e OnObjectCreated para fornecer acesso à instância do objeto de negócio antes de quaisquer operações de dados que estejam a usar o ObjectDataSource controlo e o objeto de negócio serem realizadas. O objeto de negócio é definido e acedido usando a ObjectInstance propriedade. Ao adicionar um delegado handler de eventos para gerir o ObjectCreating evento, pode criar uma instância do objeto de negócio em código personalizado em vez de realizar ObjectDataSource a instância. Isto é útil quando quer uma instância não padrão do seu objeto de negócio ou para chamar um construtor não parametrizado para criar a instância; O ObjectDataSource Always chama o construtor sem parâmetros para criar uma instância do objeto de negócio com o qual trabalha. Também pode adicionar um delegado handler de eventos para gerir o ObjectCreated evento, o que lhe permite aceder a quaisquer membros expostos publicamente do objeto de negócio para realizar qualquer inicialização ou trabalho adicional.

Os OnObjectCreating métodos e OnObjectCreated não são chamados pelo ObjectDataSource controlo, se o método de objeto de negócio que executa as operações de dados for static.

O ObjectDataSource controlo expõe muitos eventos que pode gerir para trabalhar com o objeto de negócio subjacente em vários momentos do seu ciclo de vida. A tabela seguinte lista os eventos e as classes associadas EventArgs e os delegados handler de eventos.

Event EventArgs EventHandler
ObjectCreating.

Ocorre imediatamente antes da instância do objeto de negócio ser criada.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
ObjectCreated.

Ocorre imediatamente após a criação da instância do objeto de negócio.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
Selecting.

Ocorre antes de os dados serem recuperados.
ObjectDataSourceSelectingEventArgs ObjectDataSourceSelectingEventHandler
Inserting, Updatinge Deleting.

Ocorrem antes de ser realizada uma operação de inserção, atualização ou eliminação.
ObjectDataSourceMethodEventArgs ObjectDataSourceMethodEventHandler
Selected.

Ocorre depois de os dados serem recuperados.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
Inserted, Updated, Deleted.

Ocorrem após a conclusão da operação de inserção, atualização ou eliminação.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
ObjectDisposing.

Ocorre antes de um objeto comercial ser destruído.
ObjectDataSourceDisposingEventArgs ObjectDataSourceDisposingEventHandler

Construtores

Name Description
ObjectDataSourceEventArgs(Object)

Inicializa uma nova instância da ObjectDataSourceEventArgs classe usando o objeto especificado.

Propriedades

Name Description
ObjectInstance

Obtém ou define um objeto que representa o objeto de negócio com o qual o ObjectDataSource controlo realiza operações de dados.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também