Meskipun kontrol Web dan kontrol Html memiliki banyak fungsi serupa dan terlihat serupa, mekanisme implementasi internalnya sangat berbeda.
Kontrol web berkinerja lebih baik daripada kontrol Html
1. Kontrol tersebut juga cukup nyaman digunakan. Berikut adalah contoh sederhana, seperti pembuatan Tombol:
Kontrol Html menempatkan semua kumpulan besar kontrol ke dalam halaman. Fungsi mana yang digunakan, cukup atur propertinya, sebagai berikut:
<tipe masukan=kirim/tombol runat=server>
Ini akan menempati sejumlah besar sumber daya kontrol.
Kontrol web diintegrasikan ke dalam fungsi tunggal:
<asp:tombol id="btnOK" />
Hal ini dapat menghemat sumber daya yang ditempati oleh kontrol yang tidak perlu.
2. Kontrol web memiliki fungsi panggilan balik dan dapat menggunakan ViewState untuk mempertahankan status kontrol.
Kontrol Html tidak bisa. Ketika operasi halaman diklik, statusnya akan hilang.
Anda dapat melakukan percobaan seperti ini:
I. Buat dua file masing-masing: a.html b.aspx
II. Tambahkan RadioButton dari kontrol Html dan tombol ke halaman a.html.
Tambahkan RadioButton pada kontrol Web dan tombol di b.aspx
III.a.html dijalankan langsung dengan mengklik dua kali browser, dan b.aspx dijalankan melalui IIS.
IV. Di antarmuka a.html yang sedang berjalan, pilih RadioButton, lalu klik tombol Button. Anda akan menemukan bahwa RadioButton akan melakukannya
Hapus centang (kehilangan statusnya), tetapi lakukan operasi yang sama pada halaman b.aspx, RadioButton tidak akan hilang karena ViewState
Statusnya disimpan untuk itu. Anda dapat mengklik "Lihat" -> "File Sumber" pada menu browser di antarmuka yang dijalankan untuk membuka file kode Html.
Temukan ViewState terenkripsi, mirip dengan yang berikut ini:
<input type="tersembunyi" name="_VIEWSTATE" value="dDw0ajfmafmjfzzmj4"/>
Faktanya, prinsip implementasi ViewState adalah memasukkan beberapa informasi ke dalam kontrol tersembunyi, dan informasi ViewState yang dihasilkan oleh asp.net
disimpan di klien
Satu hal yang perlu diperhatikan di sini adalah:
Fungsi loopback hanya dapat diaktifkan jika formatnya adalah file *.aspx dan kontrolnya memiliki atribut: "runat=server"
3. Perbedaan terbesar antara kontrol Html dan kontrol Web adalah perbedaan metode pemrosesan peristiwa. Untuk kontrol formulir HTML,
Ketika suatu peristiwa dimunculkan, browser menanganinya. Namun untuk kontrol Web, kejadian tersebut hanya dihasilkan oleh browser, namun browser tidak akan memprosesnya. Klien perlu mengirimkan pesan ke server untuk memberitahu server agar menangani kejadian tersebut. Namun, beberapa kejadian
Misalnya:
Peristiwa seperti penekanan tombol/gerakan/mouse dll., peristiwa ini tidak tersedia di Asp.net
(Karena peristiwa ini sangat mendesak, server tidak dapat memprosesnya dengan cukup cepat.) Pada saat ini, kontrol Html ikut berperan, digabungkan dengan peristiwa Html
untuk membantu menyelesaikan proses.
Berikut adalah beberapa peristiwa yang umum digunakan di Html:
Acara kontrol HTML dijalankan di browser:
dipicu saat diklik:
<INPUT type="button" value="Click Me" onclick="alert('Hi, Hello!');">
Dipicu saat mouse terpental:
<INPUT type="button" value="Click Me" onmouseup="alert('Hi, Hello!');">
//Dipicu ketika melayang di atas kontrol
<INPUT type="button" value="Click Me" onmouseover="alert('Hi, Hello!');">
//Dipicu saat mouse bergerak di atas kontrol
<INPUT type="button" value="Click Me" onmousemove="alert('Hi, Hello!');">
//Dipicu ketika kontrol diklik dua kali
<INPUT type="button" value="Click Me" ondblclick="alert('Hi, Hello!');">
//Jika fokus berada pada kontrol, maka akan terpicu saat tombol ditekan
<INPUT type="button" value="Click Me" onkeypress="alert('Hi, Hello!');">
//Dipicu ketika tombol ditekan
<INPUT type="button" value="Klik Saya" onkeydown="alert('Hai, Halo!');">