Kontrol adalah blok fungsional kecil dalam antarmuka pengguna grafis yang mencakup kotak teks, tombol, kotak centang, kotak daftar, label, dan banyak alat lainnya. Dengan menggunakan alat ini, pengguna dapat memasukkan data, membuat pilihan, dan menunjukkan preferensi mereka.
Kontrol juga digunakan untuk pekerjaan struktural seperti validasi, akses data, keamanan, pembuatan halaman master, dan manipulasi data.
ASP.NET menggunakan lima jenis kontrol Web, yaitu:
Kontrol HTML
Kontrol server HTML
Kontrol Server ASP.NET
Kontrol Server ASP.NET Ajax
Kontrol pengguna dan kontrol khusus
Kontrol server ASP.NET adalah kontrol utama yang digunakan di ASP.NET. Kontrol ini dapat dibagi ke dalam kategori berikut:
Kontrol validasi - digunakan untuk memvalidasi input pengguna dan bekerja dengan menjalankan skrip sisi klien.
Kontrol Sumber Data - Menyediakan kemampuan pengikatan data ke berbagai sumber data.
Kontrol Tampilan Data - Kontrol ini berupa berbagai daftar dan tabel yang dapat menampilkan data terikat dari sumber data.
Kontrol Personalisasi - Personalisasi halaman berdasarkan informasi pengguna berdasarkan preferensi pengguna.
Kontrol login dan keamanan - Menyediakan otentikasi pengguna.
Halaman Master - Menyediakan tata letak dan antarmuka yang konsisten di seluruh aplikasi.
Kontrol navigasi - membantu pengguna menavigasi. Misalnya, menu, tampilan pohon, dll.
Kontrol Fungsi Kaya - Menerapkan fungsi khusus. Misalnya: kontrol AdRotator, FileUpload, dan Kalender.
Sintaks dasar untuk menggunakan kontrol server adalah:
<asp:controlType ID ="ControlID" runat="server" Property1=value1 [Property2=value2] />
Selain itu, Visual Studio memiliki fitur berikut untuk membantu menghasilkan kode bebas kesalahan:
Seret dan lepas kontrol dalam tampilan Desain.
Kemampuan IntelliSense untuk fitur tampilan dan pelengkapan otomatis.
Jendela properti untuk mengatur nilai properti secara langsung.
Kontrol server ASP.NET dengan kemampuan visual berasal dari kelas WebControl dan mewarisi semua properti, peristiwa, dan metode kelas ini.
Kelas WebControl itu sendiri dan kontrol server lain yang tidak memiliki kemampuan visual berasal dari kelas System.Web.UI.Control. Misalnya, kontrol PlaceHolder atau kontrol XML.
Kontrol server ASP.Net mewarisi semua properti, peristiwa, dan metode kelas WebControl dan System.Web.UI.Control.
Tabel berikut memperlihatkan properti umum untuk semua kontrol server:
milik | menggambarkan |
---|---|
Kunci Akses | Tekan tombol ini dan tombol Alt secara bersamaan untuk memindahkan fokus ke kontrol. |
Atribut | Ini adalah kumpulan properti arbitrer yang tidak sesuai dengan properti kontrol (hanya digunakan untuk rendering tampilan). |
Warna Belakang | Warna latar belakang. |
Kontainer yang Mengikat | Berisi kontrol terikat data. |
Warna Perbatasan | Warna perbatasan. |
Gaya Perbatasan | Gaya perbatasan. |
Lebar Perbatasan | Lebar perbatasan. |
PenyebabValidasi | Ditampilkan saat verifikasi dilakukan. |
Kontrol AnakDibuat | Menunjukkan apakah kontrol anak dari kontrol server telah ditetapkan. |
ID Klien | ID kontrol tag HTML. |
Konteks | Objek HttpContext terkait dengan kontrol server. |
Kontrol | Kumpulan semua kontrol dalam kontrol. |
Gaya Kontrol | Gaya untuk kontrol server web. |
Kelas Css | kelas CSS. |
KontainerItemData | Memberikan referensi ke pemberi nama jika mengimplementasikan IDataItemContainer. |
Kontainer DataKeys | Memberikan referensi untuk penamaan jika mengimplementasikan IDataKeysControl. |
Mode Desain | Menunjukkan apakah kontrol digunakan dalam antarmuka desain. |
DinonaktifkanCssClass | Mendapatkan atau menyetel kelas CSS untuk diterapkan pada elemen HTML yang dirender saat kontrol dinonaktifkan. |
Diaktifkan | Menunjukkan apakah kontrol dinonaktifkan. |
Aktifkan Tema | Menunjukkan apakah tema berlaku untuk kontrol. |
AktifkanViewState | Menunjukkan apakah akan mempertahankan status tampilan kontrol. |
Acara | Mendapatkan daftar event handler yang mewakili kontrol. |
huruf | Pengaturan huruf. |
Warna depan | Warna latar depan. |
Memiliki Atribut | Menunjukkan apakah kontrol memiliki grup properti. |
HasChildViewState | Menunjukkan apakah kontrol anak kontrol server saat ini memiliki pengaturan status tampilan tersimpan. |
Tinggi | Tinggi dalam piksel atau persentase. |
PENGENAL | Pengidentifikasi kontrol. |
IsChildControlStateDibersihkan | Menunjukkan apakah kontrol yang terdapat dalam kontrol ini memiliki status kontrol. |
Diaktifkan | Mendapat nilai yang menunjukkan apakah kontrol diaktifkan. |
IsTrackingViewState | Menunjukkan apakah kontrol server akan menyimpan perubahan pada status tampilannya. |
IsViewStateDiaktifkan | Menunjukkan apakah status tampilan diaktifkan untuk kontrol ini. |
LoadViewStateById | Menunjukkan apakah kontrol berpartisipasi dalam memuat status tampilannya berdasarkan ID, bukan indeks. |
Halaman | Halaman yang berisi kontrol. |
Induk | Fitur kontrol orang tua. |
Kompatibilitas Rendering | Menentukan versi ASP.NET yang kompatibel dengan HTML yang dirender. |
Lokasi | Pemegang yang memegang kendali saat ini ketika antarmuka desain ditampilkan. |
ID Kulit | Mendapat atau mengatur kulit yang diterapkan pada kontrol. |
Gaya | Mendapatkan kumpulan properti teks yang akan ditampilkan sebagai properti gaya pada label eksternal kontrol server Web. |
TabIndeks | Mendapatkan atau menetapkan label indeks kontrol server Web. |
Kunci Tag | Mendapatkan nilai HtmlTextWriterTag yang sesuai dengan kontrol server Web ini. |
Nama Tag | Mendapatkan nama label kontrol. |
Kontrol Templat | Templat yang berisi kontrol. |
Direktori Sumber Templat | Mendapatkan direktori virtual halaman atau kontrol yang terdapat dalam kontrol ini. |
Tip Alat | Mendapatkan atau mengatur teks yang ditampilkan ketika penunjuk tetikus berada di atas kendali server Web. |
ID Unik | Pengidentifikasi unik. |
Status Tampilan | Mendapatkan kamus informasi status yang mampu menyimpan dan memulihkan status tampilan kontrol server di beberapa permintaan ke halaman yang sama. |
LihatStateIgnoreCase | Menunjukkan apakah objek StateBag tidak peka huruf besar-kecil. |
Mode Status Tampilan | Mendapatkan atau menyetel status tampilan kontrol ini. |
Bisa dilihat | Menunjukkan apakah kontrol server terlihat. |
Lebar | Mendapatkan atau mengatur lebar kontrol server Web. |
Metode kontrol server disajikan dalam tabel berikut:
metode | menggambarkan |
---|---|
TambahkanAttributesToRender | Tambahkan atribut dan gaya HTML yang diperlukan untuk merender HtmlTextWriterTag yang ditentukan. |
Kontrol Tambahan | Dipanggil setelah kontrol anak ditambahkan ke koleksi kontrol objek kontrol. |
TambahkanParsedSubObject | Memberi tahu kontrol server bahwa suatu elemen, XML atau HTML, telah diuraikan dan menambahkan elemen tersebut ke koleksi kontrol kontrol server. |
TerapkanStyleSheetSkin | Menerapkan properti gaya yang ditentukan dalam lembar gaya halaman ke kontrol. |
HapusCachedClientID | infrastruktur. Tetapkan nilai ClientID yang di-cache ke nol. |
ClearChildControlState | Menghapus informasi status kontrol untuk kontrol anak dari kontrol server. |
ClearChildState | Menghapus informasi status tampilan dan status kontrol untuk semua kontrol anak kontrol server. |
ClearChildViewState | Menghapus informasi status tampilan untuk semua kontrol anak kontrol server. |
Buat Kontrol Anak | Digunakan untuk membuat kontrol anak. |
BuatKontrolKoleksi | Buat koleksi kontrol baru untuk menampung kontrol anak. |
Buat Gaya Kontrol | Membuat objek gaya yang mengimplementasikan semua properti terkait gaya. |
Ikatan Data | Ikat sumber data ke kontrol server dan semua kontrol turunannya. |
Ikatan Data (Boolean) | Ikat sumber data dan opsi yang memunculkan peristiwa DataBinding ke kontrol server dan semua kontrol turunannya. |
DataBindAnak-anak | Ikat sumber data ke kontrol anak dari kontrol server. |
Membuang | Memungkinkan kontrol server untuk melakukan operasi pembersihan akhir sebelum dilepaskan dari memori. |
Pastikan Kontrol Anak | Menentukan apakah kontrol server berisi kontrol anak. Jika tidak, buat kontrol anak. |
PastikanID | Buat pengidentifikasi untuk kontrol yang tidak memilikinya. |
Sama dengan (Objek) | Menentukan apakah objek yang ditentukan sama dengan objek saat ini. |
Menyelesaikan | Mengizinkan objek mencoba melepaskan sumber daya dan melakukan operasi pembersihan lainnya sebelum objek diambil kembali oleh Keranjang Sampah. |
TemukanKontrol(String) | Mencari kontainer bernama saat ini untuk kontrol server dengan parameter id yang ditentukan. |
TemukanKontrol(String, Int32) | Mencari kontainer bernama saat ini untuk kontrol server dengan parameter id dan bilangan bulat yang ditentukan. |
Fokus | Atur fokus masukan untuk kontrol. |
DapatkanDesignModeState | Mendapatkan data waktu desain kontrol. |
Dapatkan Tipe | Dapatkan tipe instance saat ini. |
DapatkanUniqueIDRelativeTo | Mengembalikan bagian awalan dari properti ID unik dari kontrol yang ditentukan. |
Memiliki Kontrol | Menentukan apakah kontrol server berisi kontrol anak. |
Memiliki Acara | Menunjukkan apakah kejadian tersebut didaftarkan oleh kontrol atau kontrol anak lainnya. |
IsLiteralContent | Menentukan apakah kontrol server hanya berisi konten teks. |
Status Kontrol Beban | Pulihkan informasi status kontrol. |
LoadViewState | Pulihkan informasi status tampilan. |
MapPathSecure | Mengambil jalur fisik yang dipetakan jalur virtual absolut atau relatif. |
Klon Anggota | Membuat salinan dangkal dari objek saat ini. |
Gabungkan Gaya | Menyalin elemen kontrol Web yang tidak kosong dengan gaya yang ditentukan, namun tidak menimpa elemen gaya kontrol yang ada. |
DiBubbleEvent | Menentukan apakah peristiwa kontrol server melewati hierarki kontrol server UI halaman. |
Pengikatan OnData | Memunculkan peristiwa pengikatan data. |
DiInit | Memunculkan acara Init. |
Sedang dimuat | Memunculkan acara pemuatan. |
DiPreRender | Memunculkan acara PreRender. |
Sedang dibongkar | Naikkan acara uninstall. |
File Terbuka | Biasakan aliran untuk membaca file. |
Kontrol yang Dihapus | Dipanggil setelah kontrol anak dihapus dari koleksi kontrol objek kontrol. |
Memberikan | Menampilkan kontrol ke penulis HTML yang ditentukan. |
RenderBeginTag | Menampilkan tag pembuka HTML kontrol ke penulis yang ditentukan. |
RenderAnak-Anak | Menghasilkan konten anak-anak kontrol server ke dalam objek HtmlTextWriter yang disediakan untuk menulis konten yang dirender pada klien. |
RenderIsi | Menampilkan konten kontrol ke penulis yang ditentukan. |
RenderControl(HtmlTextWriter) | Menghasilkan konten kontrol server ke objek HtmlTextWriter yang disediakan dan menyimpan informasi pelacakan tentang kontrol jika pelacakan diaktifkan. |
RenderTag Akhir | Menampilkan tag penutup HTML kontrol ke penulis yang ditentukan. |
ResolveAdapter | Mendapat tanggung jawab adaptor kontrol untuk merender kontrol yang ditentukan. |
SimpanKontrolStatus | Menyimpan perubahan status pada kontrol server yang terjadi sejak halaman diposting kembali ke server. |
SimpanViewState | Menyimpan status apa pun yang diubah setelah memanggil metode TrackViewState. |
SetDesignModeState | Tetapkan data waktu desain untuk kontrol. |
KeString | Mengembalikan string yang mewakili objek saat ini. |
TrackViewState | Menyebabkan kontrol melacak perubahan pada status tampilannya sehingga dapat disimpan di properti ViewState objek. |
Mari kita lihat kontrol server tertentu - kontrol tampilan pohon. Kontrol tampilan hierarki adalah kontrol navigasi. Kontrol navigasi lainnya adalah: kontrol menu dan kontrol SiteMapPath.
Tambahkan kontrol tampilan pohon ke halaman. Pilih Edit Node... dari tugas dan edit setiap node menggunakan editor node tampilan pohon sebagai berikut:
Setelah node berhasil dibuat, maka akan muncul tampilan berikut pada tampilan desain:
Tugas AutoFormat... memungkinkan Anda menentukan format tampilan hierarki sebagai berikut:
Tambahkan kontrol label dan kontrol kotak teks pada halaman dan beri nama masing-masing lblmessage dan txtmessage.
Tulis beberapa baris kode untuk memastikan bahwa ketika node tertentu dipilih, kontrol label menampilkan teks node dan kotak teks menampilkan semua node anak di bawahnya (jika ada). Kode untuk file latar belakang akan terlihat seperti ini:
using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;namespace eventdemo { public partial class treeviewdemo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { txtmessage.Text = " "; } protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) { txtmessage.Text = " "; lblmessage.Text = "Selected node changed to: " + TreeView1.SelectedNode.Text; TreeNodeCollection childnodes = TreeView1.SelectedNode.ChildNodes; if(childnodes != null) { txtmessage.Text = " "; foreach (TreeNode t in childnodes) { txtmessage.Text += t.Value; } } } }}
Jalankan halaman tersebut untuk melihat efeknya dan Anda akan dapat memperluas dan menciutkan node.