Aracılığıyla paylaş


Denetleyici Oluşturma (C#)

tarafından Stephen Walther

Bu öğreticide Stephen Walther, bir ASP.NET MVC uygulamasına nasıl denetleyici ekleyebileceğinizi gösterir.

Bu öğreticinin amacı, yeni ASP.NET MVC denetleyicilerini nasıl oluşturabileceğinizi açıklamaktır. Hem Visual Studio Denetleyici Ekle menü seçeneğini kullanarak hem de el ile bir sınıf dosyası oluşturarak denetleyici oluşturmayı öğrenirsiniz.

Denetleyici Ekle Menü Seçeneğini Kullanma

Yeni denetleyici oluşturmanın en kolay yolu, Visual Studio Çözüm Gezgini penceresinde Denetleyiciler klasörüne sağ tıklayıp Ekle, Denetleyici menü seçeneğini seçmektir (bkz. Şekil 1). Bu menü seçeneğinin seçilmesi Denetleyici Ekle iletişim kutusunu açar (bkz. Şekil 2).

Sağ tıklama menüsündeKi Ekle ve Denetleyici seçeneklerini gösteren Visual Studio Çözüm Gezgini penceresinin ekran görüntüsü.

Şekil 01: Yeni denetleyici ekleme (Tam boyutlu görüntüyü görüntülemek için tıklayın)

Denetleyici Adı alanında Varsayılan 1 Denetleyicisi'ni gösteren Denetleyici Ekle iletişim kutusunun ekran görüntüsü.

Şekil 02: Denetleyici Ekle iletişim kutusu (Tam boyutlu görüntüyü görüntülemek için tıklayın)

Denetleyici ekle iletişim kutusunda denetleyici adının ilk bölümünün vurgulandığına dikkat edin. Her denetleyici adı Denetleyici soneki ile bitmelidir. Örneğin, ProductController adlı bir denetleyici oluşturabilirsiniz ancak Product adlı bir denetleyici oluşturameyebilirsiniz.

Denetleyici soneki eksik bir denetleyici oluşturursanız denetleyiciyi çağıramazsınız. Bunu yapma, bu hatayı yaptıktan sonra hayatımın sayısız saatini harcadım.

Liste 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();
        }
    }
}

Denetleyiciler klasöründe her zaman denetleyiciler oluşturmanız gerekir. Aksi takdirde, ASP.NET MVC kurallarını ihlal etmiş olursunuz ve diğer geliştiriciler uygulamanızı anlamakta daha zorlanır.

yapı iskelesi eylem yöntemleri

Bir denetleyici oluşturduğunuzda, Oluşturma, Güncelleştirme ve Ayrıntılar eylem yöntemlerini otomatik olarak oluşturma seçeneğiniz vardır (bkz. Şekil 3). Bu seçeneği belirtirseniz, Liste 2'deki denetleyici sınıfı oluşturulur.

Otomatik olarak eylem yöntemleri oluşturma

Şekil 03: Eylem yöntemlerini otomatik olarak oluşturma (Tam boyutlu görüntüyü görüntülemek için tıklayın)

Liste 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();
            }
        }
    }
}

Oluşturulan bu yöntemler saptama yöntemleridir. Bir müşterinin ayrıntılarını kendiniz oluşturmak, güncelleştirmek ve göstermek için gerçek mantığı eklemeniz gerekir. Ancak saptama yöntemleri size güzel bir başlangıç noktası sağlar.

Denetleyici Sınıfı Oluşturma

ASP.NET MVC denetleyicisi yalnızca bir sınıftır. İsterseniz kullanışlı Visual Studio denetleyici iskelesini yoksayabilir ve el ile bir denetleyici sınıfı oluşturabilirsiniz. Şu adımları izleyin:

  1. Denetleyiciler klasörüne sağ tıklayın ve Ekle, Yeni Öğe menü seçeneğini belirleyin ve Sınıf şablonunu seçin (bkz. Şekil 4).
  2. Yeni sınıfı PersonController.cs olarak adlandırın ve Ekle düğmesine tıklayın.
  3. Sonuçta elde edilen sınıf dosyasını, sınıfın temel System.Web.Mvc.Controller sınıfından devralınması için değiştirin (bkz. Listeleme 3).

Yeni sınıf oluşturma

Şekil 04: Yeni sınıf oluşturma (Tam boyutlu görüntüyü görüntülemek için tıklayın)

Liste 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!";
        }
    }
}

Listeleme 3'teki denetleyici, "Merhaba Dünya!" dizesini döndüren Index() adlı bir eylemi kullanıma sunar. Uygulamanızı çalıştırarak ve aşağıdaki gibi bir URL isteyerek bu denetleyici eylemini çağırabilirsiniz:

http://localhost:40071/Person

Not

ASP.NET Geliştirme Sunucusu rastgele bir bağlantı noktası numarası kullanır (örneğin, 40071). Bir denetleyiciyi çağırmak için URL girerken doğru bağlantı noktası numarasını sağlamanız gerekir. Windows Bildirim Alanı'ndaki (ekranınızın sağ alt kısmı) ASP.NET Geliştirme Sunucusu simgesinin üzerine farenizi getirerek bağlantı noktası numarasını belirleyebilirsiniz.