Compartir por


ObjectDataSourceEventArgs Clase

Definición

Proporciona datos para los ObjectCreating eventos y ObjectCreated del ObjectDataSource control .

public ref class ObjectDataSourceEventArgs : EventArgs
public class ObjectDataSourceEventArgs : EventArgs
type ObjectDataSourceEventArgs = class
    inherit EventArgs
Public Class ObjectDataSourceEventArgs
Inherits EventArgs
Herencia
ObjectDataSourceEventArgs

Ejemplos

Esta sección contiene dos ejemplos de código. En el primer ejemplo de código se muestra cómo usar un ObjectDataSource control con un objeto de negocio y un GridView control para recuperar y mostrar información. En el segundo ejemplo de código se proporciona el objeto empresarial básico de ejemplo que usa el primer ejemplo de código.

En el ejemplo de código siguiente se muestra cómo usar un ObjectDataSource control con un objeto de negocio y un GridView control para recuperar y mostrar información. En este ejemplo, como en muchos escenarios reales, es posible que no sea posible ni adecuado usar una instancia predeterminada del objeto de negocio con el ObjectDataSource control . En este ejemplo, no ObjectDataSource puede llamar correctamente al constructor sin parámetros porque producirá una excepción. En algunos casos, es posible que el constructor sin parámetros esté protegido y, en otros, no inicialice el objeto de negocio en un estado deseado. Independientemente del motivo, puede crear una instancia del objeto de negocio usted mismo y establecer la instancia en la ObjectInstance propiedad del ObjectDataSourceEventArgs objeto que se pasa al controlador. Esta es la instancia de objeto de negocio que ObjectDataSource usará para realizar su trabajo.

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

En el ejemplo de código siguiente se muestra el objeto empresarial básico de ejemplo que usa el ejemplo 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

Comentarios

La ObjectDataSourceEventArgs clase se usa en los OnObjectCreating métodos y OnObjectCreated para proporcionar acceso a la instancia de objeto de negocio antes de que se realicen las operaciones de datos que usan el control y el ObjectDataSource objeto de negocio. El objeto de negocio se establece y se accede a él mediante la ObjectInstance propiedad . Al agregar un delegado de controlador de eventos para controlar el ObjectCreating evento, puede crear una instancia del objeto de negocio en código personalizado en lugar de ObjectDataSource realizar la creación de instancias. Esto resulta útil cuando desea una instancia no predeterminada del objeto de negocio o llamar a un constructor sin parámetros para crear la instancia; siempre ObjectDataSource llama al constructor sin parámetros para crear una instancia del objeto de negocio con el que funciona. También puede agregar un delegado de controlador de eventos para controlar el ObjectCreated evento, lo que le permite acceder a los miembros expuestos públicamente del objeto de negocio para realizar cualquier inicialización o trabajo adicional.

El control no llama a los OnObjectCreatingObjectDataSource métodos y OnObjectCreated , si el método de objeto de negocio que realiza las operaciones de datos es static.

El ObjectDataSource control expone muchos eventos que puede controlar para trabajar con el objeto de negocio subyacente en varias ocasiones en su ciclo de vida. En la tabla siguiente se enumeran los eventos y las clases asociadas EventArgs y los delegados del controlador de eventos.

Event EventArgs EventHandler
ObjectCreating.

Se produce inmediatamente antes de crear la instancia del objeto de negocio.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
ObjectCreated.

Se produce inmediatamente después de crear la instancia del objeto de negocio.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
Selecting.

Se produce antes de recuperar los datos.
ObjectDataSourceSelectingEventArgs ObjectDataSourceSelectingEventHandler
Inserting, Updatingy Deleting.

Se produce antes de realizar una operación de inserción, actualización o eliminación.
ObjectDataSourceMethodEventArgs ObjectDataSourceMethodEventHandler
Selected.

Se produce después de recuperar los datos.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
Inserted, , Updated. Deleted

Se produce una vez completada la operación de inserción, actualización o eliminación.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
ObjectDisposing.

Se produce antes de que se destruya un objeto de negocio.
ObjectDataSourceDisposingEventArgs ObjectDataSourceDisposingEventHandler

Constructores

Nombre Description
ObjectDataSourceEventArgs(Object)

Inicializa una nueva instancia de la ObjectDataSourceEventArgs clase utilizando el objeto especificado.

Propiedades

Nombre Description
ObjectInstance

Obtiene o establece un objeto que representa el objeto de negocio con el que el ObjectDataSource control realiza operaciones de datos.

Métodos

Nombre Description
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también