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.