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

Шрифт
Фон

public class MensagensController : Controller

{

public ActionResult BomDia()

{

return Content("Bom dia... hoje você acordou cedo!");

}

public ActionResult BoaTarde()

{

return Content("Boa tarde... não durma na mesa do trabalho!");

}

}

Pronto. Nosso projeto já pode ser executado. Compile-o utilizando a tecla F5.

Seu navegador padrão será trazido à execução e irá apresentar uma mensagem de

erro dizendo que Não foi possível encontrar o recurso. Muito embora a mensagem de erro seja emitida, ela já era esperada. Isso acontece porque ainda não criamos o controller padrão configurado no roteamento do nosso projeto.

Neste momento, para que você possa visualizar o exemplo em execução, descon-

sidere a mensagem de erro e, na barra de endereço de seu navegador, complete a URL

apresentada com os valores /mensagens/bomdia ou /mensagens/boatarde.

Perceba que estamos solicitando especificamente um /{controller}/{action}

e, com isso, o MVC faz o roteamento para o controller e action que solicitamos e que podem ser aplicados.

81

5.2. Entendendo o papel dos Controllers e Actions

Casa do Código

Veja através da figura 5.2 um exemplo de uma mensagem sendo exibida ao usuá-

rio.

Figura 5.2: Usuário visualizando a mensagem definida na action

Como você pôde perceber, quando digitamos a URL

http://localhost:1063/

mensagens/boatarde , obtivemos a resposta Boa tarde... não vá dormir na mesa do trabalho. Isso ocorreu porque, ao receber a requisição, o controller mensagens di-recionou o fluxo de processamento para a action solicitada, isto é, boatarde. Por sua vez, a action boatarde executou a operação que lhe era devida e enviou um

retorno de conteúdo (note a utilização da diretiva Content), neste caso, uma string simples.

82

Casa do Código

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

ActionResult e ContentResult, quais as diferenças?

ActionResult é o tipo de retorno mais genérico existente dentro do

framework ASP.NET MVC. Ele suporta qualquer tipo de resultado que

possa ser retornado, sendo os mais comuns: JsonResult, ContentResult, EmptyResult, FileResult, JavaScriptResult, RedirectResult. Cada um dos mencionados nada mais é do que a extensão (através de herança)

de ActionResult. Sua implementação é extremamente simples, contendo

apenas

um método para ser implementado na classe que a herda, haja

vista que ActionResult é uma classe abstrata.

Desta forma, ContentResult trata-se de uma implementação exten-

siva da classe ActionResult, que permite formatar qualquer tipo de con-

teúdo que se deseja retornar, especificando inclusive, seu ContentType.

Textos simples (como nosso exemplo) até sentenças mais complexas

(como nodos de XML, por exemplo) podem ser retornados através de

Content.

Agora que você já foi apresentado aos conceitos iniciais relacionados aos controllers, é chegado o momento de voltar as atenções para nossa aplicação de exemplo.

Isso será feito na próxima seção.

5.3

Cadê meu médico: o que faremos?

A partir daqui, apresentaremos algumas formas práticas para o trabalho com controllers, utilizando exemplos reais (todos no contexto da aplicação Cadê meu médico).

Apresentaremos os diferentes modelos de interação entre views e controllers e, ao final, você terá presenciado algumas das diversas formas de trabalho com controllers.

Como já mencionamos, existem diferentes formas para realizar a interação entre controllers e views em aplicações ASP.NET MVC. Neste capítulo, apresentaremos as principais (comumente utilizadas em projetos reais). Assim, para que você possa estruturar de forma ainda melhor seus estudos, listamos a seguir os principais aspectos relacionados aos controllers que veremos aqui. São eles:

Como passar dados de um controller para uma view;

Como passar dados de uma view para um controller;

83

5.4. Cadê meu médico: CRUDs

Casa do Código

Passando dados de um formulário para controller;

Comunicação de controllers com arquivos de repositórios;

CRUDs utilizando o Scaffold do ASP.NET MVC.

Para que todas essas ações possam ser implementadas, criaremos CRUDs para

cada um dos elementos da aplicação Cadê meu médico (você se lembra: Usuários, Médicos, Especialidades e Cidades).

5.4

Cadê meu médico: CRUDs

Iniciaremos o desenvolvimento do backend da aplicação Cadê meu médico criando

o CRUD essencial para o funcionamento da aplicação, isto é, o cadastro de Médicos.

Faremos desta forma porque é essencial compreendermos, neste momento, o fluxo

de trabalho básico utilizando o ASP.NET MVC.

Através do cadastro de Médicos será possível entender o modelo através do qual enviamos e recebemos informações dos formulários HTML, além de criar toda a ló-

gica básica nas actions do nosso controller para que o cadastro funcione de forma adequada. Muito embora tenhamos um capítulo inteiro dedicado ao estudo das views, já no cadastro de Médicos faremos algumas modificações nas views geradas automaticamente pela framework MVC.

Hora de começar a construção do cadastro de Médicos. Basta que você repita

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

0
Шрифт
Фон

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