Bagikan melalui


Menambahkan Pengontrol (VB)

oleh Rick Anderson

Tutorial ini akan mengajari Anda dasar-dasar membangun aplikasi Web MVC ASP.NET menggunakan Microsoft Visual Web Developer 2010 Express Service Pack 1, yang merupakan versi gratis dari Microsoft Visual Studio. Sebelum memulai, pastikan Anda telah menginstal prasyarat yang tercantum di bawah ini. Anda dapat menginstal semuanya dengan mengklik tautan berikut: Penginstal Platform Web. Atau, Anda dapat menginstal prasyarat secara individual menggunakan tautan berikut:

Jika Anda menggunakan Visual Studio 2010 alih-alih Visual Web Developer 2010, instal prasyarat dengan mengklik tautan berikut: Prasyarat Visual Studio 2010.

Proyek Visual Web Developer dengan kode sumber VB.NET tersedia untuk menyertai topik ini. Unduh versi VB.NET. Jika Anda lebih suka C#, beralihlah ke versi C# dari tutorial ini.

MVC adalah singkatan dari model-view-controller. MVC adalah pola untuk mengembangkan aplikasi sehingga setiap bagian memiliki tanggung jawab terpisah:

  • Model: Data untuk aplikasi Anda.
  • Tampilan: File templat yang akan digunakan aplikasi Anda untuk menghasilkan respons HTML secara dinamis.
  • Pengontrol: Kelas yang menangani permintaan URL masuk ke aplikasi, mengambil data model, lalu menentukan templat tampilan yang merender respons ke klien.

Kami akan membahas semua konsep ini dalam tutorial ini dan menunjukkan kepada Anda cara menggunakannya untuk membangun aplikasi.

Buat pengontrol baru dengan mengklik kanan folder Pengontrol di Penjelajah Solusi lalu pilih Tambahkan Pengontrol.

AddController

Beri nama pengontrol baru Anda "HelloWorldController" dan klik Tambahkan.

2AddEmptyController

Perhatikan di Penjelajah Solusi di sebelah kanan bahwa file baru telah dibuat untuk Anda bernama HelloWorldController.cs dan bahwa file terbuka di IDE.

Di dalam blok baru public class HelloWorldController , buat dua metode baru yang terlihat seperti kode berikut. Kami akan mengembalikan string HTML langsung dari pengontrol sebagai contoh.

Namespace MvcMovie
    Public Class HelloWorldController
        Inherits System.Web.Mvc.Controller

        Public Function Index() As String
            Return "This is my default action..."
        End Function

        Public Function Welcome() As String
            Return "This is the Welcome action method..."
        End Function

    End Class
End Namespace

Pengontrol Anda diberi nama HelloWorldController dan metode baru Anda diberi nama Index. Jalankan aplikasi (tekan F5 atau Ctrl+F5). Setelah browser Anda dimulai, tambahkan "HelloWorld" ke jalur di bilah alamat. (Di komputer saya, itu http://localhost:43246/HelloWorld) Browser Anda akan terlihat seperti cuplikan layar di bawah ini. Dalam metode di atas, kode mengembalikan string secara langsung. Kami mengatakan kepada sistem untuk hanya mengembalikan beberapa HTML, dan itu terjadi!

Cuplikan layar yang memperlihatkan browser dengan teks Ini adalah tindakan default saya di jendela.

ASP.NET MVC memanggil kelas pengontrol yang berbeda (dan metode tindakan yang berbeda di dalamnya) tergantung pada URL masuk. Logika pemetaan default yang digunakan oleh ASP.NET MVC menggunakan format seperti ini untuk mengontrol kode apa yang dipanggil:

/[Controller]/[ActionName]/[Parameters]

Bagian pertama dari URL menentukan kelas pengontrol yang akan dijalankan. Jadi / HelloWorld memetakan ke HelloWorldController kelas . Bagian kedua URL menentukan metode tindakan pada kelas yang akan dijalankan. Jadi /HelloWorld/Index akan menyebabkan Index metode HelloWorldController kelas dijalankan. Perhatikan bahwa kami hanya perlu mengunjungi /HelloWorld di atas dan Index metode ini digunakan secara default. Ini karena metode bernama Index adalah metode default yang akan dipanggil pada pengontrol jika tidak ditentukan secara eksplisit.

Telusuri http://localhost:xxxx/HelloWorld/Welcome. Metode Welcome ini menjalankan dan mengembalikan string "Ini adalah metode tindakan Selamat Datang...". Pemetaan MVC default adalah /[Controller]/[ActionName]/[Parameters]. Untuk URL ini, pengontrol adalah HelloWorld dan Welcome merupakan metodenya. Kami belum menggunakan [Parameters] bagian URL.

Cuplikan layar yang memperlihatkan browser dengan teks Ini adalah metode tindakan Selamat Datang di jendela.

Mari kita ubah contoh sedikit sehingga kita dapat meneruskan beberapa informasi parameter dari URL ke pengontrol (misalnya, /HelloWorld/Welcome?name=Scott&numtimes=4). Ubah metode Anda Welcome untuk menyertakan dua parameter seperti yang ditunjukkan di bawah ini. Perhatikan bahwa kami telah menggunakan fitur parameter opsional VB untuk menunjukkan bahwa parameter harus default ke 1 jika tidak ada nilai yang diteruskan untuk parameter tersebut numTimes .

Public Function Welcome(ByVal name As String, Optional ByVal numTimes As Integer = 1) As String
    Dim message As String = "Hello " & name & ", NumTimes is: " & numTimes
    Return "" & Server.HtmlEncode(message) & ""
End Function

Jalankan aplikasi Anda dan telusuri ke http://localhost:xxxx/HelloWorld/Welcome?name=Scott&numtimes=4. Anda dapat mencoba nilai yang berbeda untuk name dan numtimes. Sistem secara otomatis memetakan parameter bernama dari string kueri Anda di bilah alamat ke parameter dalam metode Anda.

Cuplikan layar yang memperlihatkan browser dengan teks Hello Scott Num Times adalah 4 di jendela.

Dalam kedua contoh ini, pengontrol telah melakukan bagian VC dari MVC — yaitu tampilan dan pekerjaan pengontrol. Pengontrol mengembalikan HTML secara langsung. Biasanya kita tidak ingin pengontrol mengembalikan HTML secara langsung, karena itu menjadi sangat rumit untuk kode. Sebagai gantinya, kita biasanya akan menggunakan file templat tampilan terpisah untuk membantu menghasilkan respons HTML. Mari kita lihat bagaimana kita bisa melakukan ini.