Compartilhar via


ObjectDataSourceEventArgs Classe

Definição

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

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 usado pelo primeiro exemplo de código.

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, talvez não seja possível nem apropriado usar uma instância padrão do objeto de negócios com o ObjectDataSource controle. Neste exemplo, não ObjectDataSource é possível 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. Esta é a instância de objeto de negócios que usará ObjectDataSource 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 usado pelo exemplo de código anterior.

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 para OnObjectCreated 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 delegado 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 seu 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 do manipulador de eventos para lidar com o evento, o ObjectCreated que permite acessar todos os membros expostos publicamente do objeto de negócios para executar qualquer inicialização ou trabalho adicional.

O OnObjectCreating método e OnObjectCreated o método 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.

Acontecimento EventArgs EventHandler
ObjectCreating.

Ocorre imediatamente antes da criação da instância do objeto de negócios.
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.

Ocorre 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

Nome Description
ObjectDataSourceEventArgs(Object)

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

Propriedades

Nome Description
ObjectInstance

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

Métodos

Nome Description
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 Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também