ObjectDataSource.SelectMethod Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.