Bagikan melalui


ObjectDataSource.SelectMethod Properti

Definisi

Mendapatkan atau mengatur nama metode atau fungsi yang ObjectDataSource dipanggil kontrol untuk mengambil data.

public:
 property System::String ^ SelectMethod { System::String ^ get(); void set(System::String ^ value); };
public string SelectMethod { get; set; }
member this.SelectMethod : string with get, set
Public Property SelectMethod As String

Nilai Properti

String yang mewakili nama metode atau fungsi yang ObjectDataSource digunakan untuk mengambil data. Defaultnya adalah string kosong ("").

Contoh

Contoh kode berikut menunjukkan bagaimana GridView kontrol dapat menampilkan data menggunakan ObjectDataSource kontrol di halaman Formulir Web. ObjectDataSource Mengidentifikasi nama kelas yang sebagian atau sepenuhnya memenuhi syarat dengan propertinya TypeName dan metode yang dipanggil untuk mengambil data dengan propertinyaSelectMethod. Pada durasi, objek dibuat dan metode disebut menggunakan pantulan. GridView Kontrol menghitung melalui IEnumerable koleksi yang dikembalikan oleh metode yang ditentukan oleh SelectMethod properti , dan menampilkan data.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="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">
<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:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.CS.EmployeeLogic" />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="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">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ObjectDataSource - Visual Basic Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          typename="Samples.AspNet.VB.EmployeeLogic" />

    </form>
  </body>
</html>

Keterangan

Metode yang ditentukan dapat memiliki tanda tangan metode apa pun, tetapi harus mengembalikan salah satu jenis yang diperlihatkan dalam tabel berikut agar ObjectDataSource kontrol berhasil memanggilnya.

Tipe hasil Tindakan
IEnumerable IEnumerable dikembalikan oleh Select metode .
DataTable DataView dibuat menggunakan DataTable dan dikembalikan oleh Select metode .
DataView DataView dikembalikan oleh Select metode .
DataSet Yang pertama DataTableDataSet diekstraksi, dan DataView dibuat dan dikembalikan oleh Select metode .
Object Objek dibungkus dalam koleksi satu elemen IEnumerable dan dikembalikan oleh Select metode .

Properti SelectMethod mendelegasikan ke SelectMethod properti ObjectDataSourceView objek yang terkait dengan ObjectDataSource kontrol.

Saat Anda menggunakan ObjectDataSource kelas untuk menghapus atau memperbarui data, pastikan bahwa nama parameter yang dikonfigurasi untuk ObjectDataSource kontrol dalam DeleteParameters koleksi atau UpdateParameters koleksi cocok dengan nama kolom yang dikembalikan oleh metode pilih.

Masa Pakai objek

Metode yang diidentifikasi oleh SelectMethod properti dapat menjadi metode instans atau static metode (Shared dalam Visual Basic). Jika ini adalah metode instans, objek bisnis dibuat dan dihancurkan setiap kali metode yang ditentukan oleh SelectMethod properti dipanggil. Anda dapat menangani ObjectCreated peristiwa dan ObjectCreating untuk bekerja dengan objek bisnis sebelum metode yang ditentukan oleh SelectMethod properti dipanggil. Anda juga dapat menangani ObjectDisposing peristiwa yang dimunculkan setelah metode yang ditentukan oleh SelectMethod properti dipanggil. Jika objek bisnis mengimplementasikan IDisposable antarmuka, Dispose metode dipanggil sebelum objek dihancurkan. Jika metodenya adalah static (Shared di Visual Basic), objek bisnis tidak pernah dibuat dan Anda tidak dapat menangani ObjectCreatedperistiwa , ObjectCreating, dan ObjectDisposing .

Penggabungan Parameter

Parameter ditambahkan ke SelectParameters koleksi dari sumber ini:

  • Secara deklaratif dari SelectParameters elemen .

  • Secara terprogram dari Selecting metode .

Pertama, parameter yang tercantum dalam SelectParameters elemen ditambahkan. Kedua, parameter ditambahkan dan dihapus secara terprogram dalam Selecting peristiwa tersebut, yang terjadi sebelum Select metode dijalankan. Metode diselesaikan setelah parameter digabungkan. Resolusi metode dibahas di bagian berikutnya.

Penting

Anda harus memvalidasi nilai parameter apa pun yang Anda terima dari klien. Runtime hanya mengganti nilai parameter ke SelectMethod dalam properti .

Resolusi Metode

Select Ketika metode dipanggil, bidang data dari kontrol terikat data, parameter yang dibuat secara deklaratif dalam SelectParameters elemen , dan parameter yang ditambahkan dalam Selecting penanganan aktivitas semuanya digabungkan. (Untuk informasi selengkapnya, lihat bagian sebelumnya.) ObjectDataSource Kontrol kemudian mencoba menemukan metode untuk dipanggil. Pertama, ia mencari satu atau beberapa metode dengan nama yang ditentukan dalam SelectMethod properti . Jika tidak ada kecocokan yang InvalidOperationException ditemukan, pengecualian akan dilemparkan. Jika kecocokan ditemukan, kecocokan kemudian mencari nama parameter yang cocok. Misalnya, misalkan jenis yang ditentukan oleh TypeName properti memiliki dua metode bernama SelectARecord. Satu SelectARecord memiliki satu parameter, ID, dan yang lain SelectARecord memiliki dua parameter, Name dan Number. SelectParameters Jika koleksi hanya memiliki satu parameter bernama ID, SelectARecord metode hanya dengan parameter dipanggilID. Jenis parameter tidak diperiksa dalam menyelesaikan metode. Urutan parameter tidak masalah.

DataObjectTypeName Jika properti diatur, metode diselesaikan dengan cara yang berbeda. ObjectDataSource mencari metode dengan nama yang ditentukan dalam SelectMethod properti yang mengambil satu parameter dari jenis yang ditentukan dalam DataObjectTypeName properti . Dalam hal ini, nama parameter tidak masalah.

Berlaku untuk

Lihat juga