MVC Framework - kontrolery

Kontrolery Asp.net MVC są odpowiedzialne za sterowanie przepływem wykonywania aplikacji. Kiedy wysyłasz żądanie (oznacza żądanie strony) do aplikacji MVC, kontroler jest odpowiedzialny za zwrócenie odpowiedzi na to żądanie. Kontroler może wykonać jedną lub więcej czynności. Akcja kontrolera może zwracać różne typy wyników akcji do określonego żądania.

Kontroler jest odpowiedzialny za sterowanie logiką aplikacji i działa jako koordynator pomiędzy Widokiem a Modelem. Kontroler otrzymuje dane wejściowe od użytkowników za pośrednictwem Widoku, następnie przetwarza dane użytkownika za pomocą Modelu i przekazuje wyniki z powrotem do Widoku.

Utwórz kontroler

Aby utworzyć kontroler -

Step 1 - Utwórz pustą aplikację MVC, a następnie kliknij prawym przyciskiem myszy folder kontrolera w aplikacji MVC.

Step 2- Wybierz opcję menu Dodaj → Kontroler. Po dokonaniu wyboru zostanie wyświetlone okno dialogowe Dodaj kontroler. Nazwij kontrolera jakoDemoController.

Plik klasy kontrolera zostanie utworzony, jak pokazano na poniższym zrzucie ekranu.

Utwórz kontroler za pomocą IController

W strukturze MVC klasy kontrolera muszą implementować interfejs IController z przestrzeni nazw System.Web.Mvc.

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

To jest bardzo prosty interfejs. Jedyna metoda, Execute, jest wywoływana, gdy żądanie jest skierowane do klasy kontrolera. Struktura MVC wie, która klasa kontrolera została wskazana w żądaniu, odczytując wartość właściwości kontrolera wygenerowaną przez dane routingu.

Step 1- Dodaj nowy plik klasy i nazwij go DemoCustomController. Teraz zmodyfikuj tę klasę, aby dziedziczyć interfejs IController.

Step 2 - Skopiuj następujący kod wewnątrz tej klasy.

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 - Uruchom aplikację, a otrzymasz następujące dane wyjściowe.