Archiwa tagu: mvc controller

#6 Kontroler

Kontroler (ang. controller)

Kontrolery to nic innego jak klasy C# których zadaniem jest obsługa żądań użytkowników (zwykle dziedziczy po klasie System.Web.Mvc.Controller). Kontroler w pierwszej kolejności odbiera dane wejściowe od użytkownika następnie je przetwarza i analizuje.

Skoro kontroler to klasa, to w „środku” musi mieć jakieś metody. Wewnątrz kontrolera wszystkie metody publiczne nazywamy metodami akcji i to za ich pomoc możemy „sterować” aplikacją. Zgodnie z konwencją MVC, aby ułatwiać sobie życie, wszystkie kontrolery należy umieszczać w katalogu Controllers w naszym projekcie (w oknie Solution Explorer), który jest automatycznie tworzony wraz z naszym nowym projektem. Tak jak w życiu jeśli masz wypracowaną jakąś własną konwencję to możesz ją stosować ale zaleca się stosowanie tej ogólnie przyjętej. Jeśli chodzi o nazywanie kontrolerów to przyjęło się że do nazwy kontrolera dodajemy słówko Controller np. HomeController. Z resztą Visual Studio sam proponuje nam przy tworzeniu kontrolerów używanie właściwej konwencji, co obrazuje poniższy zrzut.

ASP.NET MVC Kontrolery
Obrazek 6.1. ASP.NET MVC Kontrolery (nazewnictwo kontrolerów).

 

Na co wpływa kontroler?
Kontroler wpływa zarówno na model i widok. Po analizie danych wejściowych może on np. zaktualizować model oraz odświeżyć widok. Można powiedzieć, że za pomocą kontrolera możemy kontrolować co się w aplikacji dzieje (za pomocą metod akcji które zawiera kontroler).

Jak tworzymy/dodajemy kontrolery do projektu?
W oknie Solution Explorer klikamy na folderze Controllers prawym przyciskiem myszy (zwanym dalej PPM) i z menu kontekstowego wybieramy opcję Add a następnie z kolejnego menu Controller.

Poniżej przykład kontrolera o nazwie HomeController, który zwraca widok metody Index

    public class HomeController : Controller
    {
        public ViewResult Index()
        {
            return View(); // zwraca widok dla metody Index
        }
    }