Jika Anda familiar dengan ASP klasik, maka Anda pasti familiar dengan sintaks data binding di ASP.NET, meskipun fungsinya tidak sama. Ekspresi pengikatan data adalah kode antara <%# dan %> dalam file ASPX. Hal ini memungkinkan data untuk diikat ke pengontrol, serta properti, ekspresi, dan hasil pemanggilan metode pada halaman untuk diikat ke pengontrol. Meskipun fitur ini mudah digunakan, namun terkadang menimbulkan kebingungan saat menentukan konten apa saja yang boleh dijilid dan apakah sudah digunakan.
Elemen Pengikatan Data
Ketika metode DataBind di ASP.NET halaman dipanggil, ekspresi pengikatan data ditautkan ke properti, properti kontrol server, dan sumber data di ASP.NET. Anda dapat menempatkan ekspresi di sisi numerik dari pasangan nilai/nilai atribut saat membuka tab yang dikontrol server atau di mana pun pada halaman. Semua ekspresi pengikatan data, di mana pun penempatannya, diapit dalam karakter <%# dan %>.
Saat menggunakan pengontrol data (Repeater, DataGrid, dll.), parameter ekspresi biasanya berupa nama kolom sumber data. Terlepas dari itu, ekspresi valid apa pun dapat digunakan selama ekspresi tersebut mengembalikan nilai. Demikian pula, sintaksis yang sama dapat digunakan untuk kontrol daftar eksternal. Ini termasuk menampilkan nilai pada halaman atau merakit properti pengontrol.
Container.DataItem adalah alias runtime untuk DataItem untuk item tertentu. Ini memetakan satu item dari sumber data, seperti baris dari kueri data atau satu elemen dari vektor. Tipe data sebenarnya dari DataItem ditentukan oleh sumber data. Oleh karena itu, ketika berhadapan dengan vektor bilangan bulat, DataItem juga merupakan bilangan bulat.
Daftar berikut mengulas beberapa situasi sintaksis VB.NET:
<%# Container.DataItem %>--mengembalikan vektor string
<%# Container.DataItem("expression") %>--mengembalikan item tertentu di Bidang kontainer DataView
< %# Container.DataItem.PropertyName %>--mengembalikan nilai properti dari string tertentu di sumber data
<%# CStr(Container.DataItem.PropertyName) %>--mengembalikan nilai properti dan mengubahnya menjadi bentuk string
ketika menggunakan C# , sintaksnya sedikit berbeda. Daftar berikut berisi kode C# yang sesuai dengan daftar di atas. Perhatikan bahwa sintaks dasarnya sama, tetapi ada perubahan dalam konversi nilai atribut dan tipe data yang dikembalikan.
<%# Container.DataItem %>
<%# ((DataRowView)Container.DataItem)["PropertyName"] %>
<%# ((ObjectType)Container.DataItem).PropertyName %>
<%# ((ObjectType)Container. DataItem).PropertyName.ToString() %>
Sintaksnya konsisten ketika bertindak pada properti dan metode halaman. Selama nilai string dikembalikan, sintaksisnya persis sama. Daftar berikut memberikan contoh:
<%# propertyName %>--Mengembalikan nilai properti tingkat halaman
<%# (objectName.PropertyName) %>--Menampilkan nilai properti objek tingkat halaman
<%# MethodName() %>--Metode halaman tampilan mengembalikan Nilai
Gunakan sintaks berikut untuk menggunakan satu nilai pada halaman (nilai yang dikembalikan oleh properti dan metode, dll.)
<%= Nilai %>
Kode C# di Listing A mengilustrasikan data mengikat dalam formulir Web ASP.NET. Ini memilih nama dan nomor telepon karyawan dari tabel Karyawan SQL Sever Northwind. Nilai kueri ditampilkan melalui pengontrol ASP.NET Repeater. Nilai kolom dimasukkan melalui pengikatan data. Judul formulir tabel dirakit melalui pemanggilan metode. Selain itu, properti ItemIndex dari Dataitem digunakan untuk menampilkan jumlah baris. Properti ItemIndex dimulai dari 0 dan bertambah 1 di antara tampilan.
Daftar B berisi kode VB.NET yang setara. Perbedaan utamanya adalah VB.NET menggunakan tanda kurung dan C# menggunakan tanda kurung siku. Dan casting baris tidak diperlukan di VB.NET.
Menggunakan Contain.DataItem agak membosankan, karena Anda harus memperhatikan tipe data dan konversi tipe data setiap saat. Microsoft menyediakan kelas DataBinder, yang selanjutnya dapat menyederhanakan pengembangan.
Menggunakan
kelas DataBinder DataBinder dijelaskan secara rinci dalam dokumentasi Microsoft (MSDN). Metode ini memungkinkan perancang RAD dengan mudah menghasilkan sintaks pengikatan data yang diurai. Metode ini juga dapat digunakan dalam deklarasi halaman Formulir Web untuk menyederhanakan pemetaan dari satu tipe ke tipe lainnya.
Saat menggunakan nilai data di halaman ASP.NET, Anda bisa menggunakan metode Eval dari kelas DataBinder agar .NET melakukan pekerjaan berat. Metode Eval menerima objek Container.DataItem yang telah diganti sebelumnya; metode ini menghitung data terperinci untuk setiap bidang tertentu dalam ekspresi dan menampilkannya. Sintaksnya adalah sebagai berikut:
DataBinder.Eval(Container.DataItem, "field name", "optional formatting")
Dengan menggunakan sintaks ini, Anda dapat menulis ulang contoh pertama menggunakan DataBinder.Eval. Daftar D berisi kode yang setara dengan VB.NET.
DataBinder.Eval sangat kuat dalam mendorong pekerjaan ke sistem, namun perlu diingat juga bahwa overhead waktu dan sumber daya sistem untuk menemukan elemen dan menentukan objek/tipe data tinggi.
Pengikatan datapilihan yang kaya
membuat memasukkan data ke halaman ASP.NET relatif sederhana. Ada banyak opsi pengikatan data yang berbeda untuk dipilih, termasuk: mengikat data ke pengontrol dan menentukan cara menampilkannya, atau memilih untuk mengikat data ke pengontrol yang dideklarasikan di halaman ASP.NET. Pada akhirnya, itu tergantung pada preferensi Anda, tetapi memiliki banyak pilihan pada akhirnya adalah hal yang baik.
Tony Patton memulai karirnya sebagai pengembang perangkat lunak dan telah mendapatkan sertifikasi di Java, VB, Lotus, dan XML.