Komponen kerangka halaman Formulir Web ASP.NET adalah model pemrograman runtime bahasa umum yang dapat diskalakan yang dapat digunakan untuk menghasilkan halaman Web secara dinamis. Komponen ASP.NET Page Framework adalah evolusi logis dari ASP (sintaks yang disediakan oleh ASP.NET kompatibel dengan halaman yang ada), dan secara khusus dirancang untuk mengatasi sejumlah kekurangan kritis pada model sebelumnya. Secara khusus, ini memberikan kemampuan untuk membuat dan menggunakan kontrol UI yang dapat digunakan kembali yang merangkum fungsionalitas umum, sehingga mengurangi jumlah kode yang perlu ditulis oleh pengembang halaman; ini memungkinkan pengembang untuk menjadi jelas dan terorganisir. Ini membangun logika halaman (bukan "kode kusut" ); alat pengembangan yang digunakannya menyediakan kemampuan dukungan desain halaman WYSIWYG (apa yang Anda lihat adalah apa yang Anda dapatkan) yang kuat (kode ASP tradisional yang ada tidak tembus cahaya). Artikel ini memperkenalkan beberapa pengetahuan dasar tentang fitur halaman ASP.NET.
Menulis halaman ASP.NET pertama Anda
Halaman ASP.NET adalah file teks dengan ekstensi .aspx. Halaman terdiri dari kode dan tag yang dikompilasi secara dinamis dan dieksekusi di server untuk menghasilkan konten tampilan untuk browser klien (atau perangkat) yang meminta. Mereka dapat disebarkan di bawah pohon direktori virtual IIS. Ketika klien browser meminta sumber daya .aspx, runtime ASP.NET menganalisis file target dan mengkompilasinya menjadi kelas kerangka .NET. Kelas ini kemudian dapat digunakan untuk menangani permintaan secara dinamis (Harap dicatat bahwa file .aspx saja dikompilasi pertama kali diakses, dan instance tipe yang dikompilasi dapat digunakan kembali untuk beberapa permintaan di masa mendatang).
Kita tidak perlu mengubah kode pada file HTML. Kita hanya perlu mengubah ekstensinya menjadi .aspx untuk membuat halaman ASP.NET. Misalnya, contoh berikut menunjukkan halaman HTML sederhana yang mengumpulkan nama dan kategori pengguna, dan mengirimkan formulir kembali ke halaman asli ketika pengguna mengklik tombol:
<form action="intro1_vb.aspx" method= "post">
<h3> Nama: <input id="Nama" type=teks>
Kategori: <pilih id="Kategori" ukuran=1>
<pilihan>psikologi</pilihan>
<pilihan>bisnis</pilihan>
<opsi>kompilasi_populer</opsi>
</pilih>
<tipe input=kirim nilai="Pencarian">
</jam3>
</form>
Harap dicatat: tidak ada yang terjadi ketika Anda mengklik tombol "Cari". Ini karena file .aspx hanya berisi HTML statis (tidak ada konten dinamis). Oleh karena itu, HTML yang sama dikirim kembali ke klien, menyebabkan konten bidang formulir (kotak teks dan daftar dropdown) hilang.
Tambahkan kode sederhana ke halaman
Sintaks yang disediakan oleh ASP.NET kompatibel dengan halaman ASP. Ini mendukung blok rendering kode (render) <% %>, yang dapat dicampur dengan konten HTML dalam file .aspx. Blok kode ini akan dieksekusi secara ketat saat halaman ditampilkan.
Contoh berikut menunjukkan cara menggunakan blok rendering <% %> (meningkatkan ukuran font setiap kali) dalam HTML:
<form action="intro2_vb.aspx" method="post">
<h3> Nama: <input id="Nama" type=teks>
Kategori: <pilih id="Kategori" ukuran=1>
<pilihan>psikologi</pilihan>
<pilihan>bisnis</pilihan>
<opsi>kompilasi_populer</opsi>
</pilih>
</jam3>
<tipe input=kirim nilai="Pencarian">
<p>
<% Redupkan I Sebagai Integer
Untuk I = 0 sampai 7 %>
<ukuran font="<%=I%>"> Selamat datang di ASP.NET </font> <br>
<%Berikutnya %>
</form>
Harap diperhatikan: Blok kode <% %> pada contoh di atas berbeda dengan ASP karena blok kode tersebut akan benar-benar dikompilasi - tidak diinterpretasikan oleh mesin skrip. Hal ini meningkatkan kinerja eksekusi runtime.
Pengembang halaman ASP.NET dapat menggunakan blok kode <% %> untuk mengubah informasi keluaran HTML secara dinamis. Misalnya, kode berikut menunjukkan cara menggunakan blok kode <% %> untuk menafsirkan hasil yang dikirim kembali oleh klien:
<form action="intro3_vb.aspx">
<h3> Nama: <input name="Name" type=text value="<%=HttpUtility.HtmlEncode(Request.QueryString("Name"))%>">
Kategori: <pilih nama="Kategori" ukuran=1>
<%
Redupkan I Sebagai Integer
Nilai Redup(2) Sebagai String
Nilai(0) = "psikologi"
Nilai(1) = "bisnis"
Nilai(2) = "kompilasi_populer"
Untuk I = 0 Ke Nilai. Panjang - 1
%>
<% Jika (Permintaan.QueryString("Kategori") = Nilai(i)) %>
<opsi dipilih>
<% Lainnya %>
<pilihan>
<%Berakhir Jika %>
<%=Nilai(i)%>
</pilihan>
<%Berikutnya %>
</pilih>
</jam3>
<tipe input=kirim nama="Pencarian" value="Pencarian">
<p>
<% Jika (Bukan Permintaan.QueryString("Pencarian") = Tidak Ada) %>
Hai <%=HttpUtility.HtmlEncode(Request.QueryString("Name")) %>, Anda memilih: <%=HttpUtility.HtmlEncode(Request.QueryString("Category")) %>
<%Berakhir Jika %>
</form>
Harap dicatat: Meskipun blok kode <% %> memberikan cara yang ampuh bagi kita untuk menyesuaikan informasi keluaran teks yang dikembalikan oleh halaman ASP.NET, blok tersebut tidak menyediakan model pemrograman HTML yang jelas. Contoh di atas menunjukkan bahwa pengembang yang hanya menggunakan blok kode <% %> harus mengelola status halaman dan mencegat sendiri nilai yang dikirim.