Freigeben über


ObjectDataSourceEventArgs.ObjectInstance Eigenschaft

Definition

Ruft ein Objekt ab, das das Geschäftsobjekt darstellt, mit dem das ObjectDataSource-Steuerelement Datenoperationen ausführt, oder legt dieses fest.

public:
 property System::Object ^ ObjectInstance { System::Object ^ get(); void set(System::Object ^ value); };
public object ObjectInstance { get; set; }
member this.ObjectInstance : obj with get, set
Public Property ObjectInstance As Object

Eigenschaftswert

Das Geschäftsobjekt, das die ObjectDataSource zum Ausführen von Datenoperationen verwendet, andernfalls null, wenn null an ObjectDataSourceEventArgs übergeben wird.

Beispiele

Dieser Abschnitt enthält zwei Codebeispiele. Im ersten Codebeispiel wird veranschaulicht, wie ein ObjectDataSource Steuerelement mit einem Geschäftsobjekt und einem GridView Steuerelement zum Abrufen und Anzeigen von Informationen verwendet wird. Im zweiten Codebeispiel wird das grundlegende Geschäftsobjekt bereitgestellt, das im ersten Codebeispiel verwendet wird.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie ein ObjectDataSource Steuerelement mit einem Geschäftsobjekt und einem GridView Steuerelement zum Abrufen und Anzeigen von Informationen verwenden. In diesem Beispiel ist es wie in vielen realen Szenarien möglicherweise nicht möglich oder angemessen, eine Standardinstanz des Geschäftsobjekts mit dem ObjectDataSource -Steuerelement zu verwenden. In diesem Beispiel kann der ObjectDataSource parameterlose Konstruktor nicht erfolgreich aufgerufen werden, da eine Ausnahme ausgelöst wird. In einigen Fällen ist der parameterlose Konstruktor möglicherweise geschützt, in anderen wird das Geschäftsobjekt möglicherweise nicht in einem gewünschten Zustand initialisiert. Unabhängig vom Grund können Sie eine Instanz des Geschäftsobjekts selbst erstellen und die Instanz auf die ObjectInstance -Eigenschaft des ObjectDataSourceEventArgs Objekts festlegen, das an den Handler übergeben wird. Dies ist die Geschäftsobjektinstanz, die zum ObjectDataSource Ausführen seiner Arbeit verwendet wird.

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

Im folgenden Codebeispiel wird das grundlegende Geschäftsobjekt veranschaulicht, das im vorherigen Codebeispiel verwendet wird.

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

Gilt für:

Weitere Informationen