ObjectDataSourceEventArgs Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.
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) |