MVC Framework - Denetleyiciler

Asp.net MVC Kontrolörleri, uygulama yürütme akışını kontrol etmekten sorumludur. MVC uygulamasına bir istekte bulunduğunuzda (bir sayfa istemek anlamına gelir), bu isteğe yanıtın geri gönderilmesinden bir denetleyici sorumludur. Denetleyici bir veya daha fazla eylem gerçekleştirebilir. Denetleyici eylemi, belirli bir isteğe farklı eylem sonuçları türlerini döndürebilir.

Kontrolör, uygulama mantığını kontrol etmekten sorumludur ve Görünüm ile Model arasında koordinatör olarak hareket eder. Denetleyici, View aracılığıyla kullanıcılardan bir girdi alır, daha sonra Model yardımıyla kullanıcının verilerini işler ve sonuçları tekrar Görünüme aktarır.

Bir Denetleyici Oluşturun

Bir Denetleyici oluşturmak için -

Step 1 - Bir MVC Boş Uygulaması oluşturun ve ardından MVC uygulamanızdaki Denetleyici klasörüne sağ tıklayın.

Step 2- Ekle → Denetleyici menü seçeneğini seçin. Seçimden sonra, Denetleyici Ekle iletişim kutusu görüntülenir. Denetleyiciyi şu şekilde adlandırın:DemoController.

Aşağıdaki ekran görüntüsünde gösterildiği gibi bir Controller sınıfı dosyası oluşturulacaktır.

IController ile bir Denetleyici Oluşturun

MVC Çerçevesinde, denetleyici sınıflarının System.Web.Mvc ad alanından IController arabirimini uygulaması gerekir.

public interface IController {
   void Execute(RequestContext requestContext);
}

Bu çok basit bir arayüz. Tek yöntem olan Execute, denetleyici sınıfında bir istek hedeflendiğinde çağrılır. MVC Framework, yönlendirme verileri tarafından oluşturulan denetleyici özelliğinin değerini okuyarak bir istekte hangi denetleyici sınıfının hedeflendiğini bilir.

Step 1- Yeni bir sınıf dosyası ekleyin ve bunu DemoCustomController olarak adlandırın. Şimdi bu sınıfı, IController arayüzünü miras alacak şekilde değiştirin.

Step 2 - Aşağıdaki kodu bu sınıfın içine kopyalayın.

public class DemoCustomController:IController { 
   
   public void Execute(System.Web.Routing.RequestContext requestContext) { 
      var controller = (string)requestContext.RouteData.Values["controller"]; 
      var action = (string)requestContext.RouteData.Values["action"]; 
      requestContext.HttpContext.Response.Write( 
      string.Format("Controller: {0}, Action: {1}", controller, action)); 
   } 
}

Step 3 - Uygulamayı çalıştırın ve aşağıdaki çıktıyı alacaksınız.