Memahami PostBack pada ASP.NET

[M]ateri yang saya tulis hari ini merupakan flash back materi yang dulu sempat saya pelajari pada waktu masih kuliah tepatnya semester 4-5. Pada saat itu saya tidak paham mengenai materi ini karena malas googling πŸ˜† . Semoga tulisan ini bisa mencerahkan dan membantu mereka yang sedang belajar asp.net.

asp.net

PostBack


Materi yang gagal saya pahami dulu adalah mengenai PostBack. Sebenarnya untuk bisa memahami PostBack kita bisa terlebih dahulu memahami pengertiannya.

PostBack adalah suatu event (kejadian) yang terjadi yang dipicu oleh adanya komponen kontrol pada Asp.Net yang mengirim data kembali ke server (post back).

Biar lebih gampang bisa menggunakan ilustrasi di bawah
– Misalkan kita memiliki sebuah halaman web “A“.
– Di dalam halaman tersebut terdapat sebuah form yang berisi text box, button serta label.
– Ketika pertama kali kita membuka halaman “A” tentunya melalui method GET, yang baru saja kita lakukan bukan merupakan PostBack karena tidak ada data yang dikirimkankan ke server justru sebaliknya server yang mengirimkan data ke klien.
– Ketika pengguna memasukkan input ke dalam text box dan menekan button maka data dikirim ke server dan browser kembali ke halaman “A” dengan data tadi sudah terpasang pada label. Ini disebut PostBack karena ada proses mengirim data ke server.

Pengetahuan yang terlihat sepele seperti ini sebenarnya sangat berguna saat bekerja dengan menggunakan Asp.Net. Kalau tidak paham bisa jadi amburadul πŸ˜€

Contoh Kasus


Supaya lebih paham lagi maka saya berikan contoh kasusnya. Kita buat sebuah web form yang memiliki sebuah drop down list, button dan label. Berikut kodenya

Kemudian code behind dari web form di atas adalah sebagai berikut

Kode di atas dijalankan pada browser maka akan berbentuk seperti di bawah
pertama

Ekspektasi ketika pada drop down dipilih “Informatic Engineering” dan tombol ditekan adalah halaman akan dikembalikan ulang dengan “Informatic Engineering” terpilih pada drop down dan label bertuliskan “Informatic Engineering“. Akan tetapi yang terjadi justru seperti pada gambar berikut

electrical engineering

Tidak peduli apa yang pengguna pilih pada drop down, akan selalu “Electrical Engineering” yang ditampilkan.

Pertanyaanya kenapa bisa seperti itu?
Coba lihat lagi code behind dengan lebih teliti.
Di sini letak masalahnya

Kode di atas akan di eksekusi setiap kali halaman di-load, baik itu saat pertama kali kita membuka halaman (GET) maupun mengirimkan data ke server dan kembali lagi ke halaman yang sama (POST). Otomatis item yang terpilih adalah “Electrical Engineering” terus menerus karena dia berada pada posisi paling atas yang secara default merupakan item terpilih.

Solusi


Solusi dari permasalahan di atas adalah kita harus membuat supaya kode pada proses memasukkan data ke dalam drop down hanya terjadi jika halaman di akses secara GET atau dalam sudut pandang lain hanya terjadi jika halaman bukan POST / bukan PostBack.

Tambahkan fungsi pengecekan seperti di bawah

Setekah itu coba pilih “Informatic Engineering” dan “Telecomunication Engineering“. Kali ini pasti bisa
informatic engineering

telecomunication engineering

Semoga membantu πŸ™‚

[followme]

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

7 thoughts on “Memahami PostBack pada ASP.NET

  1. Terima kasih, akhirnya setelah beberapa bulan menggeluti asp.net, baru tahu sekarang apa itu postback… πŸ˜€

Leave a Reply

Your email address will not be published. Required fields are marked *