Share via


ObjectDataSourceEventArgs Kelas

Definisi

Menyediakan data untuk ObjectCreating peristiwa ObjectDataSource dan ObjectCreated kontrol.

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

Contoh

Bagian ini berisi dua contoh kode. Contoh kode pertama menunjukkan cara menggunakan ObjectDataSource kontrol dengan objek bisnis dan GridView kontrol untuk mengambil dan menampilkan informasi. Contoh kode kedua menyediakan contoh objek bisnis dasar yang digunakan contoh kode pertama.

Contoh kode berikut menunjukkan cara menggunakan ObjectDataSource kontrol dengan objek bisnis dan GridView kontrol untuk mengambil dan menampilkan informasi. Dalam contoh ini, seperti dalam banyak skenario dunia nyata, mungkin tidak mungkin atau sesuai untuk menggunakan instans default objek bisnis dengan ObjectDataSource kontrol. Dalam contoh ini, ObjectDataSource tidak berhasil memanggil konstruktor tanpa parameter karena akan melemparkan pengecualian. Dalam beberapa kasus, konstruktor tanpa parameter mungkin dilindungi dan di kasus lain mungkin tidak menginisialisasi objek bisnis ke status yang diinginkan. Apa pun alasannya, Anda dapat membuat instans objek bisnis sendiri dan mengatur instans ke ObjectInstance properti ObjectDataSourceEventArgs objek yang diteruskan ke handler. Ini adalah instans objek bisnis yang ObjectDataSource akan digunakan untuk melakukan pekerjaannya.

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

Contoh kode berikut menunjukkan contoh objek bisnis dasar yang digunakan contoh kode sebelumnya.

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

Keterangan

Kelas ObjectDataSourceEventArgs digunakan dalam OnObjectCreating metode dan OnObjectCreated untuk menyediakan akses ke instans objek bisnis sebelum operasi data apa pun yang menggunakan ObjectDataSource kontrol dan objek bisnis dilakukan. Objek bisnis diatur dan diakses menggunakan ObjectInstance properti . Dengan menambahkan delegasi penanganan aktivitas untuk menangani ObjectCreating peristiwa, Anda dapat membuat instans objek bisnis dalam kode kustom alih-alih ObjectDataSource melakukan instans. Ini berguna ketika Anda menginginkan instans non-default objek bisnis Anda atau memanggil konstruktor non-parameterless untuk membuat instans; ObjectDataSource selalu memanggil konstruktor tanpa parameter untuk membuat instans objek bisnis yang bekerja dengannya. Anda juga dapat menambahkan delegasi penanganan aktivitas untuk menangani ObjectCreated peristiwa, yang memungkinkan Anda mengakses anggota objek bisnis yang diekspos secara publik untuk melakukan inisialisasi atau pekerjaan tambahan apa pun.

Metode OnObjectCreating dan OnObjectCreated tidak dipanggil oleh ObjectDataSource kontrol, jika metode objek bisnis yang melakukan operasi data adalah static.

Kontrol ini ObjectDataSource memaparkan banyak peristiwa yang dapat Anda tangani untuk bekerja dengan objek bisnis yang mendasar pada berbagai waktu dalam siklus hidupnya. Tabel berikut mencantumkan peristiwa dan kelas terkait EventArgs serta delegasi penanganan aktivitas.

Kejadian EventArgs EventHandler
ObjectCreating.

Terjadi segera sebelum instans objek bisnis dibuat.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
ObjectCreated.

Terjadi segera setelah instans objek bisnis dibuat.
ObjectDataSourceEventArgs ObjectDataSourceObjectEventHandler
Selecting.

Terjadi sebelum data diambil.
ObjectDataSourceSelectingEventArgs ObjectDataSourceSelectingEventHandler
Inserting, Updating, dan Deleting.

Terjadi sebelum operasi sisipkan, perbarui, atau hapus dilakukan.
ObjectDataSourceMethodEventArgs ObjectDataSourceMethodEventHandler
Selected.

Terjadi setelah data diambil.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
Inserted, Updated, Deleted.

Terjadi setelah operasi sisipkan, perbarui, atau hapus selesai.
ObjectDataSourceStatusEventArgs ObjectDataSourceStatusEventHandler
ObjectDisposing.

Terjadi sebelum objek bisnis dihancurkan.
ObjectDataSourceDisposingEventArgs ObjectDataSourceDisposingEventHandler

Konstruktor

ObjectDataSourceEventArgs(Object)

Menginisialisasi instans ObjectDataSourceEventArgs baru kelas menggunakan objek yang ditentukan.

Properti

ObjectInstance

Mendapatkan atau mengatur objek yang mewakili objek bisnis tempat ObjectDataSource kontrol melakukan operasi data.

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga