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 Scott Hanselman
Catatan
Versi yang diperbarui jika tutorial ini tersedia di sini menggunakan Visual Studio 2013. Tutorial baru menggunakan ASP.NET MVC 5, yang memberikan banyak peningkatan atas tutorial ini.
Ini adalah tutorial pemula yang memperkenalkan dasar-dasar ASP.NET MVC. Anda akan membuat aplikasi web sederhana yang membaca dan menulis dari database. Kunjungi pusat pembelajaran MVC ASP.NET untuk menemukan tutorial dan sampel MVC ASP.NET lainnya.
MVC adalah singkatan Model, Tampilan, Pengontrol. MVC adalah pola untuk mengembangkan aplikasi sehingga setiap bagian memiliki tanggung jawab yang berbeda dari yang lain.
- Model: Data 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 kembali ke klien
Kami akan membahas semua konsep ini dalam tutorial ini dan menunjukkan kepada Anda cara menggunakannya untuk membangun aplikasi.
Mari kita buat pengontrol baru dengan mengklik kanan folder pengontrol di Penjelajah solusi dan memilih Tambahkan Pengontrol.
Beri nama pengontrol baru Anda "HelloWorldController" dan klik Tambahkan.
Perhatikan di Penjelajah Solusi di sebelah kanan bahwa file baru telah dibuat untuk Anda yang disebut HelloWorldController.cs dan file tersebut sekarang dibuka di IDE.
Buat dua metode baru yang terlihat seperti ini di dalam HelloWorldController kelas publik baru Anda. Kami akan mengembalikan string HTML langsung dari pengontrol kami sebagai contoh.
using System.Web.Mvc;
namespace Movies.Controllers
{
public class HelloWorldController : Controller
{
public string Index()
{
return "This is my default action...";
}
public string Welcome()
{
return "This is the Welcome action method...";
}
}
}
Pengontrol Anda bernama HelloWorldController dan Metode baru Anda disebut Indeks. Jalankan aplikasi Anda lagi, seperti sebelumnya (klik tombol putar atau tekan F5 untuk melakukan ini). Setelah browser Anda dimulai, ubah jalur di bilah alamat ke http://localhost:xx/HelloWorld tempat xx adalah nomor apa pun yang dipilih komputer Anda. Sekarang browser Anda akan terlihat seperti cuplikan layar di bawah ini. Dalam metode kami di atas, kami mengembalikan string yang diteruskan ke metode yang disebut "Konten." Kami mengatakan kepada sistem hanya mengembalikan beberapa HTML, dan itu terjadi!
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 dijalankan:
/[Controller]/[ActionName]/[Parameters]
Bagian pertama dari URL menentukan kelas Pengontrol yang akan dijalankan. Jadi /HelloWorld memetakan ke kelas HelloWorldController. Bagian kedua dari URL menentukan metode Tindakan pada kelas yang akan dijalankan. Jadi /HelloWorld/Index akan menyebabkan metode Index() dari kelas HelloWorldController dijalankan. Perhatikan bahwa kami hanya perlu mengunjungi /HelloWorld di atas dan metode Indeks tersirat. Ini karena metode bernama "Indeks" adalah metode default yang akan dipanggil pada pengontrol jika metode tidak ditentukan secara eksplisit.
Sekarang, mari kita kunjungi http://localhost:xx/HelloWorld/Welcome. Sekarang Metode Selamat Datang kita telah dijalankan dan mengembalikan string HTML-nya.
Sekali lagi, /[Controller]/[ActionName]/[Parameters] jadi Controller adalah HelloWorld dan Welcome adalah Metode dalam hal ini. Kami belum melakukan Parameter.
Mari kita ubah sampel kita sedikit sehingga kita dapat meneruskan beberapa informasi dari URL ke pengontrol kita, misalnya seperti ini: /HelloWorld/Welcome?name=Scott&numtimes=4. Ubah metode Selamat Datang Anda untuk menyertakan dua parameter dan memperbaruinya seperti di bawah ini. Perhatikan bahwa kami telah menggunakan fitur parameter opsional C# untuk menunjukkan bahwa parameter numTimes harus default ke 1 jika tidak diteruskan.
public string Welcome(string name, int numTimes = 1)
{
string message = "Hello " + name + ", NumTimes is: " + numTimes;
return "" + Server.HtmlEncode(message) + "";
}
Jalankan aplikasi Anda dan kunjungi http://localhost:xx/HelloWorld/Welcome?name=Scott&numtimes=4 mengubah nilai nama dan numtime sesuka Anda. Sistem secara otomatis memetakan parameter bernama dari string kueri Anda di bilah alamat ke parameter dalam metode Anda.
Dalam kedua contoh ini, pengontrol telah melakukan semua pekerjaan, dan telah mengembalikan HTML secara langsung. Biasanya kita tidak ingin Pengontrol kita mengembalikan HTML secara langsung - karena akhirnya 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. Tutup browser Anda dan kembali ke IDE.