MVC Framework - controladores

Os controladores Asp.net MVC são responsáveis ​​por controlar o fluxo de execução da aplicação. Quando você faz uma solicitação (significa solicitar uma página) para o aplicativo MVC, um controlador é responsável por retornar a resposta a essa solicitação. O controlador pode realizar uma ou mais ações. A ação do controlador pode retornar diferentes tipos de resultados de ação para uma solicitação específica.

O Controlador é responsável por controlar a lógica da aplicação e atua como o coordenador entre a Visualização e o Modelo. O Controlador recebe uma entrada dos usuários por meio da Visão, então processa os dados do usuário com a ajuda do Modelo e passa os resultados de volta para a Visão.

Crie um controlador

Para criar um controlador -

Step 1 - Crie um aplicativo vazio MVC e clique com o botão direito do mouse na pasta Controlador em seu aplicativo MVC.

Step 2- Selecione a opção de menu Adicionar → Controlador. Após a seleção, a caixa de diálogo Adicionar controlador é exibida. Nomeie o controlador comoDemoController.

Um arquivo de classe Controller será criado conforme mostrado na imagem a seguir.

Crie um controlador com IController

No MVC Framework, as classes de controlador devem implementar a interface IController do namespace System.Web.Mvc.

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

Esta é uma interface muito simples. O único método, Execute, é chamado quando uma solicitação é direcionada à classe do controlador. O MVC Framework sabe qual classe de controlador foi direcionada em uma solicitação, lendo o valor da propriedade do controlador gerado pelos dados de roteamento.

Step 1- Adicione um novo arquivo de classe e nomeie-o como DemoCustomController. Agora modifique esta classe para herdar a interface IController.

Step 2 - Copie o seguinte código dentro desta classe.

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 - Execute o aplicativo e você receberá a seguinte saída.