A primeira aplicação ASP .NET MVC

Vamos ver passo a passo como realizar , o já típico, “Hola Mundo” usando ASP.NET MVC.

Por Eduard Tomás - Tradução CRV


Publicado em: 13/7/11
Valorize este artigo:

Criação do projeto

Uma vez instalado ASP.NET MVC 3, nos aparece um novo tipo de projeto em Visual Studio: ASP.NET MVC 3 Application:

Damos a ele o nome que quisermos (neste caso MvcHelloWorld) e o diretório onde vai a ser gerado e pronto.

No passo seguinte nos perguntará se queremos uma aplicação "Emtpy" ou "Internet Application", e selecionamos "Empty". A diferença é que no segundo caso já se gera um conjunto de controladores e exibições por padrão, e neste momento este código atrapalharia mais que ajudaria assim que vamos esquecê-lo. Com "Empty" começamos com uma aplicação ASP.NET MVC vazia.

O "View Engine" têm dois valores: Razor e ASPX. Isto faz referência à tecnologia com a qual se implementam as exibições. Se selecionamos ASPX nossas exibições serão arquivos .aspx, enquanto que se usamos Razor nossas exibições serão arquivos .cshtml (ou .vbhtml se usamos Visual Basic). Razor é uma sintaxe nova muito mais compacta que ASPX e é, portanto, a que nós vamos a usar.

Finalmente damos "Ok" e isso vai criar nosso projeto vazio.

Estrutura de um projeto ASP.NET MVC

Mesmo em uma aplicação vazia, Visual Studio nos criará várias pastas, e alguns arquivos:

ASP.NET MVC segue o que se conhece como convention over configuration, ou seja: em lugar de usar arquivos de configuração para certas tarefas, se usam convenções predefinidas. E essas convenções são regras como as seguintes:

  1. As exibições se localizam na pasta View
  2. Os controladores são classes cujo nome termina em Controller
As pastas criadas por Visual Studio por padrão são as seguintes:
  1. Content: Para ter conteúdo estático (imagens, folhas de estilo, …)
  2. Controllers: Para localizar nossos controladores
  3. Models: Para localizar as classes do modelo.
  4. Scripts: Para ter arquivos com código javascript
  5. Views: Onde vão as exibições da aplicação

Criação do controlador e da ação

Vamos criar um controlador que se encarregue de receber a solicitação do navegador (e que retorne a exibição que diga "Hola Mundo").

Para isso clique com o botão direito sobre a pasta "Controllers" e selecione Add ' Controller. Visual Studio nos perguntará o nome do controlador:

Podemos ver que por padrão o nome termina com Controller. Modificamos para que em lugar de Default1Controller seja HomeController e damos Add. Isso criará uma classe HomeController na pasta Controllers com o código:

public class HomeController : Controller
{
//
// GET: /Home/

public ActionResult Index()
{
return View();
}

}

Coisas que devemos observar:

  1. A classe deriva de Controller
  2. Tem um método público que retorna um ActionResult e que se chama Index. Isto é uma ação. Qualquer método público de um controlador é por padrão uma ação.
Em ASP.NET MVC toda solicitação do navegador deve ser encaminhada a uma solicitação (método público) de um controlador. Por padrão se segue a convenção de que as URLs estão na forma http://servidor/controlador/accion. Ou seja, para invocar a ação Index, do controlador Home, usaremos a URL: http://servidor/Home/Index. Observem um detalhe importante: a classe se chama HomeController mas o nome do controlador é Home (sem Controller)

Criação da exibição associada

O código da ação gerada por Visual Studio (return View();) o que faz é devolver a exibição associada a tal ação. E aqui devemos ter presente outra convenção de ASP.NET MVC. Como se disse antes as exibições passam pela pasta /Views. Por padrão, as exibições de um controlador:
  1. Estão em uma sub-pasta com o nome do controlador
  2. São chamadas igual que a ação
Ou seja, a exibição da ação Index do controlador Home, estará na pasta /Views/Home e se chamará Index.

Assim criamos a pasta (Add New Folder) Home dentro de Views e para acrescentar a exibição, click com o botão direito sobre a pasta recém criada no Solution Explorer e Add ' View. Isso nos abre o diálogo de nova exibição:

Selecionamos "Index" como nome e clicamos Add. Com isso Visual Studio nos terá gerado um arquivo Index.cshtml (situado em /Views/Home) com o código:

@{
ViewBag.Title = "Index";
}

<h2>Index</h2>

Agora modificamos o código HTML para acrescentar o Hello World:

@{
ViewBag.Title = "Index";
}

<h2>Index</h2>

Hola mundo. Saludos desde <strong>ASP.NET MVC</strong>

E pronto! Com isto já temos nossa aplicação pronta.
Para testá-la basta executá-la (com F5) e comprovar os resultados:

Um último detalhe: Se vocês observarem a URL é simplesmente http://localhost, sem nada mais e se está mostrando nossa exibição. O que aconteceu? Pois que, por padrão se não se inclui controlador se assume que é "Home" e se não se entra com ação se assume que é Index. Porém, se entramos com a URL completa vemos que também funciona:

Por outra parte se entramos com um nome de controlador ou de ação que não existe, recebemos um 404 (página não encontrada):

¡Um abraço a todos!





Comentários do artigo
Foram enviados 2 comentários ao artigo
2 comentários não revisados
0 comentários revisados

Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato