Bagikan melalui


Membuat Pengontrol (C#)

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).

Cuplikan layar jendela Penjelajah Solusi Visual Studio, yang memperlihatkan opsi Tambahkan dan Pengontrol di menu klik kanan.

Gambar 01: Menambahkan pengontrol baru (Klik untuk melihat gambar ukuran penuh)

Cuplikan layar kotak dialog Tambahkan Pengontrol, yang memperlihatkan Pengontrol 1 Default di bidang Nama Pengontrol.

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 Produk.

Jika Anda membuat pengontrol yang kehilangan akhiran Pengontrol maka Anda tidak akan dapat memanggil pengontrol. Jangan lakukan ini-- Aku sudah menyia-yiakan berjam-jam dalam hidupku setelah membuat kesalahan ini.

Daftar 1 - Controllers\ProductController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;

namespace MvcApplication1.Controllers
{
    public class ProductController : Controller
    {
        //
        // GET: /Product/

        public ActionResult Index()
        {
            return View();
        }
    }
}

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.

Membuat metode tindakan secara otomatis

Gambar 03: Membuat metode tindakan secara otomatis (Klik untuk melihat gambar ukuran penuh)

Daftar 2 - Controllers\CustomerController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;

namespace MvcApplication1.Controllers
{
    public class CustomerController : Controller
    {
        //
        // GET: /Customer/

        public ActionResult Index()
        {
            return View();
        }

        //
        // GET: /Customer/Details/5

        public ActionResult Details(int id)
        {
            return View();
        }

        //
        // GET: /Customer/Create

        public ActionResult Create()
        {
            return View();
        } 

        //
        // POST: /Customer/Create

        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Create(FormCollection collection)
        {
            try
            {
                // TODO: Add insert logic here

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }

        //
        // GET: /Customer/Edit/5
 
        public ActionResult Edit(int id)
        {
            return View();
        }

        //
        // POST: /Customer/Edit/5

        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Edit(int id, FormCollection collection)
        {
            try
            {
                // TODO: Add update logic here
 
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
    }
}

Metode yang dihasilkan ini adalah metode stub. Anda harus menambahkan logika aktual untuk membuat, memperbarui, dan menampilkan detail untuk pelanggan sendiri. Tapi, metode ganja 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:

  1. Klik kanan folder Pengontrol dan pilih opsi menu Tambahkan, Item Baru dan pilih templat Kelas (lihat Gambar 4).
  2. Beri nama kelas baru PersonController.cs dan klik tombol Tambahkan .
  3. Ubah file kelas yang dihasilkan sehingga kelas mewarisi dari kelas System.Web.Mvc.Controller dasar (lihat Daftar 3).

Membuat kelas baru

Gambar 04: Membuat kelas baru (Klik untuk melihat gambar ukuran penuh)

Daftar 3 - Controllers\PersonController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MvcApplication1.Controllers
{
    public class PersonController : System.Web.Mvc.Controller
    {
        public string Index()
        {
            return "Hello World!";
        }
    }
}

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).