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).
Şekil 01: Yeni denetleyici ekleme (Tam boyutlu görüntüyü görüntülemek için tıklayın)
Ş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.
Ş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:
- 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).
- Yeni sınıfı PersonController.cs olarak adlandırın ve Ekle düğmesine tıklayın.
- 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).
Ş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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin