ASP.NET Webpage Model

Ini merupakan beberapa catatan saya ketika pertama kali belajar asp.net. Pengenalan awal tentang pembuatan webpage menggunakan asp.net.  Asp.net webpage terdiri dari dua bagian.

  • Elemen tampilan, yang berisi kode-kode html dan tulisan-tulisan statis yang muncul di halaman web.
  • Elemen pemrograman, yang berisi kode-kode pemrograman yang mengatur event-event dan proses logic lainnya.

Asp.net menyediakan dua model penulisan untuk mengatur kedua elemen tersebut, yaitu single-file page dan code-behind page. Kedua model ini pada dasarnya menjalankan proses yang sama dan kita bisa menggunakan kontrol dan kode yang sama. Tidak ada perbedaan performa diatara keduanya. Pemilihan model penulisan ini lebih pada kemudahan pengaturan atau kerapian kode program.

Single-file page model

Di single-file model kode-kode html dan kode programing di letakkan di satu file .aspx. Kode program diletakkan didalam tag <script> dengan attribut runat=”server”..

Berikut contoh single-file page yang berisi label dan button kontrol. Click event handler dari kontrol button diletakkan didalam tag <script>.

<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
   Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
      Label1.Text = "model single-file page"
   End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
   <title>Single-file page</title>
</head>
<body>
   <form id="form1" runat="server">
   <div>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
   </div>
   </form>
</body>
</html>

Tag <script> dapat berisi semua kode yang digunakan page. kode dapat berupa event handler, methods, property atau yang lainnya yang biasanya di gunakan di file class.

Model single-file ini lebih cocok jika tidak banyak kode yang ditulis, misal hanya untuk even-handler saja. Selain itu, page yang ditulis menggunakan model ini lebih mudah pada saat deployment dan juga ketika melakukan rename, karena tidak ada ketergantungan dengan file lain.

Code-behind page model

Di model ini, kode html dan kode program ditulis di file yang terpisah. Kode html tersimpan dalam file .aspx, sedangkan kode program di simpan dalam file dengan nama sesuai dengan bahasa pemrograman yang digunakan. Jika menggunakan vb maka nama file nya menjadi .aspx.vb, jika menggunakan C# nama filenya adalah .aspx.cs.

Berikut contoh file aspx, yang hanya berisi tag-tag html

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default3.aspx.vb" Inherits="Default3" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
     <title>page dengan model code-behing</title>
</head>
<body>
     <form id="form1" runat="server">
     <div>
          <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
          <asp:Button ID="Button1" runat="server" Text="Button" />
     </div>
     </form>
</body>
</html>

Ada dua perbedaan antara single-file dan code-behind

  • Di code-behind tidak ada tag <script> dengan attribut runat=”server”. Jika ingin membuat client-side script, page bisa berisi tag <script> tanpa atribut runat=”server”
  • Di code-behind, @Page directive berisi atribut yang mereferensi file lain (.asp.vb) dan class. Atribut ini merupakan penghubung antara file .aspx dan file kodenya (.aspx.vb)

Contoh file kode yang ada di .aspx.vb

Partial Class Default3
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles Button1.Click
        Label1.Text = "Model code-behind"
    End Sub
End Class

Code-behind ini lebih sesuai jika kode program yang ditulis banyak sekali atau ada pembagian tugas, misalnya ada designer yang membuat halaman web nya dan programer yang fokus di kode programnya.

Pustaka: Core web application technologies with visual studio.

About Yuniar

Penulis sekarang lebih banyak bekerja menggunakan teknologi Microsoft .NET secara umum dan TIDAK lagi menggunakan aplikasi MapXtreme.net dari MapInfo. Karena itu mohon maaf, jika pertanyaan-pertanyaan mengenai MapXtreme sudah tidak bisa saya jawab lagi.

Posted on 9 November 2009, in ASP.net and tagged , . Bookmark the permalink. Tinggalkan komentar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: