Compartilhar via


ObjectDataSourceEventArgs Classe

Definição

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

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 controle com um objeto de negócios e um GridView controle para recuperar e exibir informações. O segundo exemplo de código fornece o exemplo de objeto de negócios básico que o primeiro exemplo de código usa.

O exemplo de código a seguir demonstra como usar um ObjectDataSource controle com um objeto de negócios e um GridView controle para recuperar e exibir informações. 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ócios com o ObjectDataSource controle . Neste exemplo, o ObjectDataSource não pode chamar com êxito o construtor sem parâmetros porque ele gerará uma exceção. Em alguns casos, o construtor sem parâmetros pode ser protegido e, em outros, pode não inicializar o objeto de negócios para um estado desejado. Seja qual for o motivo, você pode criar uma instância do objeto de negócios por conta própria e definir a instância como a ObjectInstance propriedade do ObjectDataSourceEventArgs objeto que é passado para o manipulador. Essa é a instância de objeto de negócios que o ObjectDataSource usará para executar 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 a seguir demonstra o exemplo de objeto de negócios básico que o exemplo de código anterior usa.

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

Comentários

A ObjectDataSourceEventArgs classe é usada nos OnObjectCreating métodos e OnObjectCreated para fornecer acesso à instância de objeto de negócios antes que quaisquer operações de dados que estejam usando o controle e o ObjectDataSource objeto de negócios sejam executadas. O objeto de negócios é definido e acessado usando a ObjectInstance propriedade . Ao adicionar um representante do manipulador de eventos para manipular o ObjectCreating evento, você pode criar uma instância do objeto de negócios no código personalizado em vez de ObjectDataSource executar a instanciação. Isso é útil quando você deseja uma instância não padrão do objeto de negócios ou para chamar um construtor sem parâmetros para criar a instância; o ObjectDataSource sempre chama o construtor sem parâmetros para criar uma instância do objeto de negócios com o qual ele funciona. Você também pode adicionar um representante de manipulador de eventos para lidar com o evento, o ObjectCreated que permite que você acesse todos os membros expostos publicamente do objeto de negócios para executar qualquer inicialização ou trabalho adicional.

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

O ObjectDataSource controle expõe muitos eventos que você pode manipular para trabalhar com o objeto de negócios subjacente em vários momentos em seu ciclo de vida. A tabela a seguir lista os eventos e as classes associadas EventArgs e os delegados do manipulador de eventos.

Evento EventArgs EventHandler
ObjectCreating.

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

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

Ocorre antes que os dados sejam recuperados.
ObjectDataSourceSelectingEventArgs ObjectDataSourceSelectingEventHandler
Inserting, Updatinge Deleting.

Ocorra antes que uma operação de inserção, atualização ou exclusão seja executada.
ObjectDataSourceMethodEventArgs ObjectDataSourceMethodEventHandler
Selected.

Ocorre depois que os dados são recuperados.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
Inserted, Updated, Deleted.

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

Ocorre antes que um objeto de negócios seja destruído.
ObjectDataSourceDisposingEventArgs ObjectDataSourceDisposingEventHandler

Construtores

ObjectDataSourceEventArgs(Object)

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

Propriedades

ObjectInstance

Obtém ou define um objeto que representa o objeto de negócios com o qual o controle ObjectDataSource executa operações de dados.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também