Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
oleh Stephen Walther
Dalam tutorial ini, Stephen Walther menunjukkan bagaimana Anda dapat menambahkan pengontrol ke aplikasi MVC ASP.NET.
Tujuan dari tutorial ini adalah untuk menjelaskan bagaimana Anda dapat membuat pengontrol MVC ASP.NET baru. Anda mempelajari cara membuat pengontrol baik dengan menggunakan opsi menu Visual Studio Add Controller dan dengan membuat file kelas secara manual.
Menggunakan Opsi Tambahkan Menu Pengontrol
Cara termampu untuk membuat pengontrol baru adalah dengan mengklik kanan folder Pengontrol di jendela Penjelajah Solusi Visual Studio dan pilih opsi menu Tambahkan, Pengontrol (lihat Gambar 1). Memilih opsi menu ini akan membuka dialog Tambahkan Pengontrol (lihat Gambar 2).
Gambar 01: Menambahkan pengontrol baru (Klik untuk melihat gambar ukuran penuh)
Gambar 02: Dialog Tambahkan Pengontrol (Klik untuk melihat gambar ukuran penuh)
Perhatikan bahwa bagian pertama dari nama pengontrol disorot dalam dialog Tambahkan Pengontrol . Setiap nama pengontrol harus diakhiri dengan akhiran Pengontrol. Misalnya, Anda dapat membuat pengontrol bernama ProductController tetapi bukan pengontrol bernama Product.
Jika Anda membuat pengontrol yang kehilangan akhiran Pengontrol maka Anda tidak akan dapat memanggil pengontrol. Jangan lakukan ini -- Aku telah menyia-yiakan berjam-jam dalam hidupku setelah membuat kesalahan ini.
Daftar 1 - Controllers\ProductController.vb
Public Class ProductController
Inherits System.Web.Mvc.Controller
'
' GET: /Product/
Function Index() As ActionResult
Return View()
End Function
End Class
Anda harus selalu membuat pengontrol di folder Pengontrol. Jika tidak, Anda akan melanggar konvensi ASP.NET MVC dan pengembang lain akan memiliki waktu yang lebih sulit untuk memahami aplikasi Anda.
Metode Tindakan Perancah
Saat membuat pengontrol, Anda memiliki opsi untuk membuat metode tindakan Buat, Perbarui, dan Detail secara otomatis (lihat Gambar 3). Jika Anda memilih opsi ini, maka kelas pengontrol di Daftar 2 akan dibuat.
Gambar 03: Membuat metode tindakan secara otomatis (Klik untuk melihat gambar ukuran penuh)
Daftar 2 - Controllers\CustomerController.vb
Public Class CustomerController
Inherits System.Web.Mvc.Controller
'
' GET: /Customer/
Function Index() As ActionResult
Return View()
End Function
'
' GET: /Customer/Details/5
Function Details(ByVal id As Integer) As ActionResult
Return View()
End Function
'
' GET: /Customer/Create
Function Create() As ActionResult
Return View()
End Function
'
' POST: /Customer/Create
<AcceptVerbs(HttpVerbs.Post)> _
Function Create(ByVal collection As FormCollection) As ActionResult
Try
' TODO: Add insert logic here
Return RedirectToAction("Index")
Catch
Return View()
End Try
End Function
'
' GET: /Customer/Edit/5
Function Edit(ByVal id As Integer) As ActionResult
Return View()
End Function
'
' POST: /Customer/Edit/5
<AcceptVerbs(HttpVerbs.Post)> _
Function Edit(ByVal id As Integer, ByVal collection As FormCollection) As ActionResult
Try
' TODO: Add update logic here
Return RedirectToAction("Index")
Catch
Return View()
End Try
End Function
End Class
Metode yang dihasilkan ini adalah metode stub. Anda harus menambahkan logika aktual untuk membuat, memperbarui, dan menampilkan detail untuk pelanggan sendiri. Tapi, metode stub memberi Anda titik awal yang bagus.
Membuat Kelas Pengontrol
Pengontrol MVC ASP.NET hanyalah kelas. Jika mau, Anda dapat mengabaikan perancah pengontrol Visual Studio yang nyaman dan membuat kelas pengontrol secara manual. Ikuti langkah-langkah berikut:
- Klik kanan folder Pengontrol dan pilih opsi menu Tambahkan, Item Baru dan pilih templat Kelas (lihat Gambar 4).
- Beri nama kelas baru PersonController.vb dan klik tombol Tambahkan .
- Ubah file kelas yang dihasilkan sehingga kelas mewarisi dari kelas System.Web.Mvc.Controller dasar (lihat Daftar 3).
Gambar 04: Membuat kelas baru(Klik untuk melihat gambar ukuran penuh)
Daftar 3 - Pengontrol\PersonController.vb
Public Class PersonController
inherits Controller
Function Index AS String
Return "Hello World!"
End Function
End Class
Pengontrol di Listing 3 mengekspos satu tindakan bernama Index() yang mengembalikan string "Halo Dunia!". Anda dapat memanggil tindakan pengontrol ini dengan menjalankan aplikasi Anda dan meminta URL seperti berikut:
http://localhost:40071/Person
Catatan
ASP.NET Development Server menggunakan nomor port acak (misalnya, 40071). Saat memasukkan URL untuk memanggil pengontrol, Anda harus menyediakan nomor port yang tepat. Anda dapat menentukan nomor port dengan mengarahkan mouse ke atas ikon untuk ASP.NET Development Server di Area Pemberitahuan Windows (kanan bawah layar Anda).