ASP.NET MVC – UTILIZANDO RAZOR VIEW ENGINE

Já falamos algumas vezes aqui no blog sobre ferramentas que facilitam o desenvolvimento de aplicações web. Hoje vamos mostrar uma pequena introdução ao Razor e como podemos utiliza-lo em integração com nossas aplicações MVC.

Antes de mais nada, precisamos entender sucintamente a arquitetura básica de uma aplicação MVC.

MVC é um padrão utilizado em aplicações que a separa em 3 camadas:

Model: é a camada de dados da aplicação. Basicamente, é a informação ‘bruta’  do sistema;

View: é a camada de interface do sistema. É pela View que o usuário conseguirá interagir com a aplicação;

Controller: é a camada de controle de sua aplicação. Principal responsável pela lógica da aplicação;

Simplificando, Models  são os dados, Views  são as telas e Controllers as lógicas de negócio que integram a fonte de dados a tela e vice versa.

Após contextualizar rapidamente uma aplicação MVC voltemos ao tópico principal: o que é Razor?

Razor é uma View Engine desenvolvida para aplicações .NET e que foi introduzida a partir da versão 3.0 do ASP.NET MVC. Assim como outras View Engines, ela ajuda a integrar e inserir em sua página HTML linguagem de programação.

O Razor é uma forma bem simples de inserir e manipular os dados em uma View e até mesmo criar pequenas lógicas na página.

Vamos fazer um simples exemplo, utilizando o Model, View e Controller abaixo:

ModeloExemplo

Model

ViewExemplo

View

ControllerExemplo

Controller

Reparou os marcadores iniciados com ‘@’  na View? Esse é o meio como inserimos trechos de código na nossa View utilizando Razor. No exemplo acima, importamos algumas bibliotecas para nossa tela e definimos seu Model. Agora, vamos inserir um trecho de código na nossa View para mostrar os dados de Nome e Idade do nosso Model:

Exemplo1

Bem simples, não é? Uma vez que o Model da página foi preenchido no Controller e foi retornado juntamente com a View suas informações também foram transportadas para a página. É muito importante ressaltar que o Model que a View recebe deve ser o mesmo definido no HTML. Em sequência, que tal experimentarmos inserir um pouco de lógica na nossa página? Vamos implementar um pequeno condicional:

Exemplo2Pagina

Caso a variável do Model esteja com o valor ‘true’, uma parte específica do código será executada. Mas não acaba por ai, com Razor você pode executar praticamente quase qualquer tipo de lógica que você executaria no backend da sua página na sua View como comparações, expressões aritméticas e até mesmos importar bibliotecas e classes para sua View como Enum e Linq.

Exemplo3

Essa foi uma demonstração extremamente simples de como podemos utilizar Razor em uma aplicação MVC.  A biblioteca do Razor traz consigo vários outros recursos no qual facilitam e organizam bastante o desenvolvimento de uma página, como Helpers para a criação de componentes para o HTML como Textboxes, DropDown e afins, mas não os citaremos no momento.

Apesar de o Razor simplificar bastante o desenvolvimento ele cria uma dependência muito forte do seu backend com seu frontend, o que pode gerar algumas complicações com a reutilização de páginas e modelos e até mesmo possíveis mudanças em qualquer um dos lados.

Bem, essa foi uma leve introdução ao Razor View Engine para aqueles que não conheciam a ferramenta.

Se você quer saber mais sobre ASP.NET MVC, aqui você confere um especial sobre rotas em asp.net MVC, mapeamento personalizado e mapeamento distribuído

Por: Marcelo Barbosa
Revisão: Jéssica Saliba

Deixe um comentário