ASP.NET MVC Form Handling

[S]ebagian besar (atau bahkan mungkin semua) aplikasi web yang ada memiliki html form yang digunakan untuk mengirimkan data ke server. Penanganan form yang paling dasar dan wajib untuk diketahui adalah cara menerima data yang dikirimkan melalui form tersebut. Hal dasar selanjutnya adalah validasi

asp.net mvc form handling

Tulisan ini akan membahasa 3 cara menangani form (menangkap data dari form) pada ASP.NET MVC. Untuk validasi form pada ASP.NET MVC silahkan baca di sini

Kelas Model

Sebelumnya kita siapkan terlebih dahulu sebuah kelas model. Sederhana saja karena untuk contoh :p

Method Parameter

Saya tidak tahu nama resmi dari teknik yang digunakan ini, namun karena cara yang digunakan adalah dengan menggunakan parameter pada method maka saya sebut saja demikian

Misalkan kita mempunyai form sebagai berikut

Pada controller, untuk menangkap nilai yang dikirimkan adalah seperti di bawah

Dengan cara di atas nilai dari form akan bisa ditangkap kemudian di-assign ke property dari kelas Account. Syarat dari teknik adalah nama parameter pada method harus sama dengan nama input tag dari form.

Jeleknya dari cara ini adalah kalau inputan pada formnya banyak, katakanlah 10, maka parameternya juga akan ada 10 yang menjadikannya panjang dan susah dibaca. Kejelekan lainnya adalah ketika nilai dari form akan diassign ke sebuah kelas model, kita melakukannya secara manual satu persatu. Kalau sedikit enak, kalau banyak ya males juga

Form Collection

Cara kedua akan meminimalisir kejelekkan dari cara pertama. Form yang digunakan masih sama, hanya method pada controller yang berbeda yaitu sebagai berikut

Dengan cara di atas maka ketika inputan ada banyak pun tetap hanya akan memiliki sebuah parameter yaitu FormCollection. Syarat untuk mendapatkan nilai dari form dengan cara ini adalah key pada FormCollection harus sama dengan nama input tag

Cara ini masih belum bisa menghilangkan kejelekan harus manual assign ke kelas model. Mari kita lanjut kecara ketiga yang akan menghilangkan kejelekkan ini

Form Binding

Cara ini adalah cara yang selalu saya gunakan jika nilai inputan pada form akan diassign ke kelas model. Dengan cara ini kita tidak perlu lagi melakukannya secara manual, semua sudah ditangani dengan automatis.

Form html sama juga seperti pada cara 1 dan cara 2. Adapun method pada controllernya adalah sebagai berikut

Cara ke-3 ini yang menjadi parameternya adalah si kelas model itu sendiri. Dengan cara ini maka objek dari kelas Account automatis akan memiliki property yang bernilai sesuai dengan nilai yang diinputkan pada form.

Cara mana yang harus saya gunakan?. Microsoft selaku pengembang tidak membuat framework secara sembarangan, tentunya ke-3 cara di atas ada porsinya masing-masing. Silahkan dicoba sendiri dan rasakan sensasi perbedaannya

Semoga tulisan yang singakt ini bermanfaat bagi pembaca. Sampai jumpa pada tulisan saya selanjutnya 😀

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

One thought on “ASP.NET MVC Form Handling

Leave a Reply

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