Por que eu devo ler este artigo:Neste artigo serão apresentados os Helper Methods do ASP.NET MVC, métodos especiais utilizados nas views que permitem que você salve trechos de código de forma a reutilizá-los dentro de uma aplicação MVC qualquer.

Ao longo do artigo, veremos como criar esses métodos especiais, além de conhecermos os métodos que o MVC Framework nos fornece.

O ASP.NET MVC é uma das principais tecnologias de desenvolvimento web do mercado, atualmente. A ideia que a junção entre as tecnologias ASP.NET e o MVC Framework traz é o aproveitamento de toda a base do ASP.NET de acordo com o padrão MVC (Model-View-Controller).

O padrão MVC é a grande sacada da aplicação, uma vez que permite dividir de forma clara os elementos dentro da aplicação, facilitando a criação de testes, a manutenção e inclusão de funcionalidades, entre outros benefícios. Trata-se de uma aplicação muito mais simples de ser readequada, caso necessário.

É nesse contexto que entram os Helper Methods, ou métodos auxiliares, em uma tradução literal. Esses métodos fazem exatamente o que o nome sugere: servem para auxiliar no desenvolvimento de detalhes importantes e comuns em diversos websites, como a criação de formulários, listas, entre outros.

Esse tipo de método é particularmente útil quando precisamos da mesma funcionalidade em diferentes páginas, e não faz sentido colocarmos a mesma em uma página de layout comum a ambas. Os helpers podem ser utilizados em quantas páginas desejarmos, funcionando como uma biblioteca de métodos especiais.

Ao longo desse artigo, vamos entender em detalhes o que são e como funcionam os Helper Methods do ASP.NET MVC. Veremos em que situações eles podem nos ser úteis e até onde podemos chegar com a utilização deles.

Além disso, vamos ver qual a necessidade de criarmos nossos próprios métodos auxiliares, uma vez que o MVC Framework traz diversos métodos que podemos utilizar sem problemas.

O que são os Helper Methods?

O ASP.NET MVC, a partir da versão 3.0, introduziu um novo conceito: o view engine, ou motor de vistas, Razor.

O Razor é uma opção para criação de views que pegou dentro da tecnologia, sendo muito utilizada atualmente. Um dos motivos para ter sido tão facilmente aceito está nas chamadas expressões Razor, que são uma forma de criar código C# diretamente no HTML da aplicação.

É nesse contexto que entram os Helper Methods. Esses métodos são chamados utilizando expressões Razor, como veremos em um momento futuro dentro do artigo.

Mas o que são, de fato, os Helper Methods? São métodos indicados quando você precisa realizar a mesma tarefa em várias páginas de sua aplicação. Esses métodos especiais permitem que você utilize um bloco comum de código entre as páginas.

Vamos imaginar que todas as páginas vão utilizar um formulário especial com “n” elementos. Esse formulário pode ser criado em um helper para ser compartilhado entre as diferentes views. A utilização desses helpers melhora a qualidade do código em cada uma das páginas, facilitando a leitura.

Os principais Helper Methods do ASP.NET MVC são os chamados HTML Helpers. Esses métodos funcionam basicamente como um controle ASP.NET Web Forms, ou seja, servem para modificar HTML. Entretanto, pelo seu formato sem um event model e um view state, acaba sendo mais leve que controles normais.

Normalmente, são métodos simples, responsáveis por criar elementos comuns em uma página web. Podem ser utilizados para iniciar um formulário, uma lista de elementos ou qualquer outra coisa que o desenvolvedor pensar (pela possibilidade de criação de métodos auxiliares customizados).

De fato, HTML Helpers são tão comuns que acabam se confundindo com o nome Helper Methods, além de ser o que vêm à cabeça quando pensamos neles.

Entretanto, temos ainda outros tipos de métodos auxiliares. São os URL e Ajax Helper Methods. Esses métodos são diferentes, capazes de gerar URLs, links e elementos com Ajax (BOX 1) habilitado.

Note que ainda são elementos dispostos no próprio HTML da aplicação (o código .cshtml do Razor) – o que, em essência, faz deles HTML Helpers -, mas que se encaixam em uma categoria diferente devido ao seu objetivo final. Também são métodos úteis, especialmente os métodos de Ajax, uma vez que trata-se de um recurso-chave em qualquer aplicação Rich Web (BOX 2).

BOX 1. Ajax

Ajax, ou Asynchronous JavaScript and XML (JavaScript e XML Assíncrono), é um grupo de técnicas de desenvolvimento para a criação de aplicações web assíncronas.

Muito confundido com um framework, as técnicas que o Ajax traz são muito úteis para a criação de aplicações ricas, ajudando a criar a chamada Rich Web. Um dos pontos chave do Ajax é a possibilidade de buscar e enviar dados ao servidor de forma assíncrona, em segundo-plano.

BOX 2. Rich Web

O conceito de Rich Web tem sido bastante difundido. A ideia está por trás da criação de aplicações web chamadas de RIA, ou Rich Internet Application, que são aplicações web com características de software desktop. Essas aplicações estão cada vez mais comuns, especialmente nos casos de SaaS (Software as a Service – Software como Serviço).

A ideia é que os clientes não devem mais ficar presos a desktops, podendo acessar suas aplicações e dados de qualquer lugar, desde que haja uma conexão à internet.

Os Helper Methods são bastante simples de serem utilizados, como veremos ao longo do artigo. Entretanto, precisamos ter cuidado quando os utilizamos: a ideia é que não criemos helper methods muito grandes, ou que envolvam muito código.

Para isso, existem outras ações que podem ser realizadas, como a criação de views parciais, ou partial views, ou as chamadas child actions. Esses dois recursos do ASP.NET MVC acabam se confundindo em seu objetivo final com helper methods, por isso vale uma dica: use Helper Methods apenas para duplicação do comportamento da view, e apenas quando esse comportamento não for muito complexo.

Além disso, não há muita teoria a respeito dos Helper Methods: o ideal é partirmos logo para a prática.

Por isso, veremos alguns dos principais Helper Methods disponíveis no MVC Framework, para que eles servem e como podem ser utilizados para criar aplicações web melhores.

Principais Helper Methods disponíveis

O MVC Framework traz uma série de Helper Methods disponíveis, que podem ser utilizados a critério do desenvolvedor. Eles buscam preencher uma lacuna que ficou na transição entre o ASP.NET Web Forms e o ASP.NET MVC, que é a ausência dos controles HTML, aqueles que podiam ser arrastados para a tela de forma a criar uma experiência interessante. Nesse contexto, vários desses métodos auxiliares representam controles HTML, mas não é só isso que eles fazem.

Existem outros métodos que vão servir de auxiliares em algumas atividades que fazemos durante o desenvolvimento, e veremos como usar e quais são esses métodos.

A Tabela 1 traz os principais métodos auxiliares disponíveis no MVC Framework. Repare que há vários deles, com diferentes propósitos. Vamos explicando os mesmos mais detalhadamente, além de vermos alguns deles na prática.

Nome do Helper Method

Quer ler esse conteúdo completo? Tenha acesso completo