Kontrol Server ASP.NET – Mengenal ASP.NET Bagian 1.5

January 20th 2010

Kontrol server adalah tag yang dipahami pada server untuk membaca script. Dimana diperlukan pemisahan kode eksekusi antara skript HTML dengan skript eksekusi, sehingga halaman web mudah dibaca dan di eksekusi.

Keterbatasan dalam ASP Klasik
Listing di bawah ini disalin dari tulisan sebelumnya:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello World!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</html>

Kode di atas menggambarkan suatu pembatasan dalam ASP klasik, artinya kode blok harus ditempatkan di mana Anda ingin output muncul.
Dilihat pada skrit berikut:

<h2>Hello World!</h2>
<p><%Response.Write(now())%></p>

Dengan ASP klasik adalah tidak mungkin untuk memisahkan kode eksekusi dari HTML itu sendiri.
Hal ini membuat halaman sulit dibaca, dan sulit untuk dipertahankan.

Kontrol Server ASP.NET

ASP.NET telah memecahkan permasalaha yang dijelaskan di atas dengan server kontrol.
Kontrol server adalah tag yang “dibaca” pada server dengan memisahkan antara HTML dan ASP.NET.
Ada tiga jenis server kontrol pada ASP.NET:

  • HTML Server Controls – tag HTML Tradisional
  • Web Server Controls – tag ASP.NET terbaru
  • Validasi Server Controls – Untuk input validasi

HTML Kontrol Server ASP.NET
Kontrol server HTML adalah tag HTML dipahami pada server HTML.
Elemen HTML dalam file ASP.NET, secara default, diperlakukan sebagai teks. Untuk membuat elemen-elemen ini dapat diprogram, ajukan runat = “server” atribut elemen HTML. Atribut ini menunjukkan bahwa unsur harus diperlakukan sebagai DNS server. Id atribut yang ditambahkan untuk mengidentifikasi server DNS. Id referensi yang dapat digunakan untuk memanipulasi DNS server pada saat run time.

Catatan: Semua HTML server kontrol harus berada dalam tag <form> dengan runat = “server” atribut. Pada runat = “server” atribut menunjukkan bahwa bentuk ini akan diproses di server. Ini juga menunjukkan bahwa kontrol tidak menutup kemungkinan dapat diakses oleh server script.

Pada contoh berikut ini kita mendeklarasikan HtmlAnchor DNS server dalam .Aspx file. Lalu kita memanipulasi atribut href HtmlAnchor kontrol dalam sebuah event handler (sebuah event handler adalah sebuah sub rutin yang mengeksekusi kode untuk acara tertentu). Pada Page_Load event adalah salah satu sekian banyak event yang dimengerti pada ASP.NET.
Untuk scriptnya sebagai berikut:

<script runat="server">
Sub Page_Load
link1.HRef="http://www.duranos.com"
End Sub
</script>

<html>
<body>

<form runat="server">
<a id="link1" runat="server">Visit Duranos!</a>
</form>

</body>
</html>

Kode itu sendiri yang dapat dieksekusi telah dipindahkan di luar HTML.

Web Kontrol Server ASP.NET
Web server kontrol ASP.NET adalah tag khusus yang dipahami pada halaman server .Aspx.
Seperti HTML server kontrol, kontrol server Web juga dibuat pada server dan mereka memerlukan runat = “server” atribut untuk bekerja. Namun, kontrol server Web tidak perlu peta untuk setiap elemen HTML yang ada dan mereka mungkin mewakili unsur-unsur yang lebih kompleks.
Sintaks untuk membuat DNS server Web adalah:

<asp:control_name id="some_id" runat="server" />

Pada contoh berikut ini saya menyatakan sebuah server Tombol kontrol dalam .Aspx file. Lalu kita membuat sebuah event handler untuk event Klik yang mengubah teks pada tombol:

<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="You clicked me!"
End Sub
</script>

<html>
<body>

<form runat="server">
<asp:Button id="button1" Text="Click me!"
runat="server" OnClick="submit"/>
</form>

</body>
</html>

Validasi Kontrol Server ASP.NET
Server validasi kontrol yang digunakan untuk memvalidasi input pengguna. Jika pengguna-input tidak lulus validasi, akan menampilkan pesan kesalahan ke pengguna.
Setiap melakukan kontrol validasi jenis tertentu validasi (seperti memvalidasi terhadap nilai tertentu atau kisaran nilai).
Secara default, halaman validasi dilakukan ketika sebuah Button, ImageButton, atau kontrol LinkButton diklik. Anda dapat mencegah validasi ketika kontrol tombol diklik dengan mengeset properti CausesValidation ke false.
Sintaks untuk menciptakan kontrol server Validasi:

<asp:control_name id="some_id" runat="server" />

Pada contoh berikut ini kami menyatakan satu kontrol TextBox, satu kontrol Button, dan satu kontrol dalam RangeValidator .Aspx file. Jika validasi gagal, teks “Nilai harus 1-100!” akan ditampilkan dalam kontrol RangeValidator:

Contoh:

<html>
<body>

<form runat="server">
<p>Enter a number from 1 to 100:
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
<asp:Button Text="Submit" runat="server" />
</p>

<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
Text="The value must be from 1 to 100!"
runat="server" />
</p>
</form>

</body>
</html>

Contoh running program: