ObjectDataSourceEventArgs Klass

Definition

Innehåller data för ObjectCreating kontrollens ObjectCreated händelser och ObjectDataSource .

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

Exempel

Det här avsnittet innehåller två kodexempel. Det första kodexemplet visar hur du använder en ObjectDataSource kontroll med ett affärsobjekt och en GridView kontroll för att hämta och visa information. Det andra kodexemplet innehåller det exempel på grundläggande affärsobjekt som används i det första kodexemplet.

Följande kodexempel visar hur du använder en ObjectDataSource kontroll med ett affärsobjekt och en GridView kontroll för att hämta och visa information. I det här exemplet, som i många verkliga scenarier, kanske det inte är möjligt eller lämpligt att använda en standardinstans av affärsobjektet med ObjectDataSource kontrollen. I det här exemplet ObjectDataSource kan inte anropa den parameterlösa konstruktorn eftersom det utlöser ett undantag. I vissa fall kan den parameterlösa konstruktorn skyddas och i andra fall kanske den inte initierar affärsobjektet till ett önskat tillstånd. Oavsett orsak kan du skapa en instans av affärsobjektet själv och ange instansen ObjectInstance till egenskapen för objektet ObjectDataSourceEventArgs som skickas till hanteraren. Det här är den instans av affärsobjektet ObjectDataSource som ska användas för att utföra sitt arbete.

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

Följande kodexempel visar exempel på det grundläggande affärsobjekt som används i föregående kodexempel.

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

Kommentarer

Klassen ObjectDataSourceEventArgs används i OnObjectCreating metoderna och OnObjectCreated för att ge åtkomst till affärsobjektinstansen innan dataåtgärder som använder ObjectDataSource kontrollen och affärsobjektet utförs. Affärsobjektet har angetts och använts med hjälp av ObjectInstance egenskapen . Genom att lägga till en händelsehanterardelegat för att hantera ObjectCreating händelsen kan du skapa en instans av affärsobjektet i anpassad kod i stället för att ObjectDataSource utföra instansieringen. Detta är användbart när du vill ha en icke-standardinstans av ditt affärsobjekt eller anropa en icke-parameterlös konstruktor för att skapa instansen. anropar ObjectDataSource alltid den parameterlösa konstruktorn för att skapa en instans av det affärsobjekt som den fungerar med. Du kan också lägga till ett händelsehanterardelegat för att hantera ObjectCreated händelsen, vilket gör att du kan komma åt alla offentligt exponerade medlemmar i affärsobjektet för att utföra ytterligare initiering eller arbete.

Metoderna OnObjectCreating och OnObjectCreated anropas inte av ObjectDataSource kontrollen, om affärsobjektmetoden som utför dataåtgärderna är static.

Kontrollen ObjectDataSource exponerar många händelser som du kan hantera för att arbeta med det underliggande affärsobjektet vid olika tidpunkter i dess livscykel. I följande tabell visas händelser och associerade EventArgs klasser och händelsehanterardelegater.

Händelse EventArgs Händelsehanterare
ObjectCreating.

Inträffar omedelbart innan instansen av affärsobjektet skapas.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
ObjectCreated.

Inträffar omedelbart efter att instansen av affärsobjektet har skapats.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
Selecting.

Inträffar innan data hämtas.
ObjectDataSourceSelectingEventArgs ObjectDataSourceSelectingEventHandler
Inserting, Updating och Deleting.

Inträffar innan en infognings-, uppdaterings- eller borttagningsåtgärd utförs.
ObjectDataSourceMethodEventArgs ObjectDataSourceMethodEventHandler
Selected.

Inträffar när data hämtas.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
Inserted, Updated, Deleted.

Inträffar när åtgärden infoga, uppdatera eller ta bort har slutförts.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
ObjectDisposing.

Inträffar innan ett affärsobjekt förstörs.
ObjectDataSourceDisposingEventArgs ObjectDataSourceDisposingEventHandler

Konstruktorer

Name Description
ObjectDataSourceEventArgs(Object)

Initierar en ny instans av ObjectDataSourceEventArgs klassen med det angivna objektet.

Egenskaper

Name Description
ObjectInstance

Hämtar eller anger ett objekt som representerar det affärsobjekt som ObjectDataSource kontrollen utför dataåtgärder med.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även