Althmann Márcio Fábio - Desenvolvimento web com ASP.NET MVC стр 23.

Шрифт
Фон

O que são controllers e sua importância nos projetos ASP.NET MVC;

O que são actions e sua relação com os controllers;

Entender o comportamento ideal dos controllers em aplicações bem construí-

das;

Modo de ativação e chamada de controllers;

Criar views a partir de actions presentes nos controllers;

Actions que podem não dar origem a views mas que são muito importantes.

Compreender o funcionamento dos controllers e suas actions é de fundamental

importância para a construção de aplicações utilizando ASP.NET MVC. Definimos

no capítulo anterior os models (modelos) da nossa aplicação, chegou o momento de adicionarmos um pouco de vida a ela.

Vamos começar?!

5.1

Vamos controlar a aplicação?

Um orquestrador de operações diversas. Esta é uma boa definição para os controllers dentro da framework ASP.NET MVC, já que são eles que agrupam todos os comportamentos da aplicação.

Como você deve se lembrar, no capítulo 2 falamos um pouco sobre o modelo de

rotas implementado pelo ASP.NET MVC. Naquela ocasião, mencionamos o fato de

que, ao receber determinada requisição, o MVC procuraria o controller que respon-deria para ela, determinaria qual action a processaria e então, geraria a visualização para o cliente.

78

Casa do Código

Capítulo 5. Controllers: Adicionando comportamento a nossa aplicação

Em termos técnicos, um controller nada mais é do que uma classe que herda

comportamentos de outra (a saber, Controller) disponível na BCL. Cada método disponível nesta classe especial é chamado de Action. As Actions são, efetivamente, a menor unidade de ação dentro de um controller. São elas que encapsulam os comportamentos que são invocados a todo momento, pela classe controladora.

5.2

Entendendo o papel dos Controllers e Actions

Fazendo uma analogia simples, podemos dizer que os controllers serão os mediadores das conversas entre as visões da aplicação (views) e os modelos (models).

Os controllers serão responsáveis por receber e transformar as requisições en-

viadas pelas views em informações que serão utilizadas pelas regras de negócio da aplicação, ou seja, os models. O contrário também é verdadeiro, os controllers têm a responsabilidade de selecionar a view correta para apresentação de informações ao usuário.

Ao receber uma requisição, os controllers devem efetuar alguma ação para que

a requisição seja processada, essas ações são as actions. As actions são métodos definidos no controller, e o controller pode ter várias actions.

Para exemplificar a utilização dos controllers e actions, criaremos em nossa so-lução de exemplo (Cadê meu médico), um controller fictício com algumas actions.

Mas antes de iniciarmos, é altamente recomendável que você entenda em sua plenitude o conceito de roteamento (já apresentado no capítulo 2).

Lá você pôde entender que o roteamento padrão do MVC é definido por

{controller}/{action}/{id}. Em nosso exemplo, queremos que as seguin-

tes URLs estejam respondendo na aplicação:

http://localhost/mensagens/bomdia

http://localhost/mensagens/boatarde

O processo de criação de novos controladores é simples, basta que você repita

os passos já informados anteriormente, isto é, clique com o botão direito do mouse no diretório Controllers (na Solution Explorer) e na sequência, no menu que será apresentado, escolha as opções Add > Controller.

Uma nova janela onde podemos

definir alguns parâmetros e propriedades do

novo controller se mostrará. Você deverá fornecer como entrada para o campo Controller Name o valor MensagensController e, para o grupo Scaffold options no

79

5.2. Entendendo o papel dos Controllers e Actions

Casa do Código

campo Template, a opção Empty MVC controller. Ao final. a janela com os valores configurados deve estar parecida com a apresentada pela figura 5.1.

Figura 5.1: Criando o Controller Mensagens

Após isso, você notará que o Visual Studio abrirá o arquivo recém-criado e

que no interior de nosso controller MensagensController uma action chamada

index já estará criada. Assim, seu controller deverá estar parecido com o apresentado pela listagem 1.

Listagem 5.1 - Código padrão do MensagensController:

public class MensagensController : Controller

{

//

// GET: /Mensagens/

public ActionResult Index()

{

return View();

}

80

Casa do Código

Capítulo 5. Controllers: Adicionando comportamento a nossa aplicação

}

O que faremos agora é excluir a action index predefinida e criar novas duas

novas, chamadas BomDia e BoaTarde respectivamente. Os códigos que compõem

tais actions deverão apresentar alguma informação para o usuário. Estas serão as funções de ambas.

Não se preocupe, o tipo de retorno ActionResult e a diretiva de retorno

Content que utilizaremos em nossos exemplos serão discutidas em maiores deta-

lhes à medida que avançamos neste capítulo.

A listagem 2 apresenta o código das actions que executarão as tarefas que

o usuário final solicitará e que você deverá adicionar ao seu controller para a visualização do exemplo.

Listagem 5.2 - Actions que retornam mensagens para o usuário:

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке