ASP.NET MVC: Como utilizar HTML Helpers

Aprenda neste artigo como utilizar HTML Helpers, soluções simples que auxiliam na criação de views dentro do MVC.

Motivação

A utilização dos chamados HTML Helpers, ou simplesmente Helpers, é uma das grandes vantagens que o ASP.NET MVC oferece para os desenvolvedores. Em conjunto com o motor de views do framework, o Razor, é possível utilizar esses auxiliadores para evitar ao máximo a escrita de código HTML puro. Assim, fica mais simples definir, de forma mais organizada, links, campos de entrada de dados (input fields), entre outros. Além disso, é possível criar nossos próprios helpers, para algum comportamento específico que desejemos dentro da aplicação.

O que é o Razor?

Para entendermos melhor como utilizar HTML Helpers, é preciso compreender o funcionamento de seu motor de views, o Razor. Esse elemento é muito importante para tudo o que fazemos com as views dentro do MVC, uma vez que é responsável por permitir a existência de código C# misturado ao HTML nessas views. Esse código C#, então, será transformado em tempo de execução nas informações necessárias para que a página seja renderizada para o usuário.

A utilização do Razor é muito simples. Podemos observar isso na Listagem 1. Note que temos algumas linhas de código e todas elas começam com o elemento “@” (arroba). Esse é o indicador do início do trecho de código Razor, que é C#, simplesmente. Nessa listagem também temos alguns HTML Helpers, que serão explicados posteriormente.

Listagem 1. Exemplo de código Razor (com alguns HTML Helpers)
<div> @Html.ActionLink("Editar", "Edit", "Product", new { id = item.Id }) <a href="@Url.Action("Edit", "Product", new { id = item.Id })">Editar</a> <a href="Product/Edit/@item.Id">Editar</a> </div>

E os HTML Helpers?

Para explicar os HTML Helpers, vamos começar pelo seu conceito. Um Helper, no MVC, é um método que pode ser utilizado na view para renderizar algum elemento HTML ou um comportamento desejável nessa view. O código da Listagem 1 pode ser tomado como exemplo para explicar esse conceito, uma vez que fizemos uso de dois helpers nele: Url.Action() e Html.ActionLink(). Aqui, é válido ressaltar que o código nas linhas 02, 03 e 04 tem o mesmo resultado: links para a página de edição do produto, passando o Id desse como parâmetro.

Vejamos o que os métodos Url.Action() e Html.ActionLink() fazem:

O resultado do código dessa listagem pode ser observado na Figura 1. Note que temos os três links “Editar” em sequência, conforme definido no código.

Figura 1. Links de edição criados de formas diferentes

Neste momento é válido citar algumas considerações a respeito do código da Listagem 1, afinal, é a partir dele que conseguimos entender as diferenças entre usar ou não HTML Helpers. A grande vantagem da abordagem mostrada na linha 02 está na escrita do método, muito mais simples do que simplesmente utilizar HTML em conjunto com o Razor, que gera, muitas vezes, um código mais confuso. Em alguns casos, a abordagem da linha 03 pode ser interessante, especialmente se tivermos várias classes CSS no elemento <a> para customizá-lo visualmente. Embora seja possível passar essas classes para o helper ActionLink(), isso pode gerar um código de difícil leitura e, portanto, manutenção.

Outros helpers úteis do MVC

O ASP.NET MVC possui inúmeros HTML Helpers que podem servir a determinados propósitos durante o desenvolvimento. A seguir, apresentaremos os principais deles:

Enfim, os Helper Methods representam um importante recurso para o dia-a-dia do desenvolvedor ASP.NET MVC. Devido àquantidade de opções, assim como a possibilidade de criação de helpers, sabercomo explorá-los pode ser um diferencial para o seu projeto.

Artigos relacionados