ASP.NET

ASP.NET 5 RC1 & Tag Helpers

· por Marc Rubiño

Hace unos días que tenemos disponible la Release Candidate 1 de ASP.NET 5 y entre muchas de las novedades que hemos ido viendo y una de las más interesantes,  son los Tag Helpers.

¿Qué son los Tag Helpers?

Hasta ahora al trabajar con los controles de servidor ASP.NET utilizábamos markups como Razor para facilitar escribir de una manera facil estos controles, pero para eso teníamos que aprendernos la sintaxis de este lenguaje y no era muy intuitivo para los desarrolladores Html.  Con los nuevos Tag Helpers todo esto cambia y facilita la integración de los equipos de maquetación con las paginas de ASP.NET.

Como se puede observar ahora es mucho menos intrusivo y los maquetadores web no tendrán ningún problema para utilizar los controles Html y tan solo tenemos que rellenar los nuevos atributos para que ASP.NET pinte los controles correctamente con las opciones del servidor.

Usar Tag Helpers

Los nuevos Tag Helpers nos pueden servir para:

Tipos de Tag Helpers

A la hora de utilizar los Tag Helpers nos podemos encontrar con diferentes tipos:

TagTyp1

TagTyp2

cache

Ejempo de Formulario con Tag Helpers

Hasta ahora cuando creábamos un formulario con razor utilizábamos la sintaxis clásica con la arroba para utilizar los controles asp.net  a través del modelo.

Razor Clásico:

clasigForm

Razor con Tag Helpers:

tagForms

Ahora se utilizan los controles HTML de forma natural, solo tendremos que utilizar los atributos relacionados con asp.net con el intelligent del modelo como teníamos antes.

helper

Utilizar directamente con los controles html nos permite trabajar de forma más natural.

Custom Tag Helpers

Otras de las posibilidades que tenemos es poder crear controles personalizados, pero no penséis en controles con ciclo de vida como los de los web forms. Son controles HTML sin estado.

Lo único que tenemos que hacer es una clase que implemente ITagHelper.

[HtmlTargetElement(Attributes ="custom-tag")]
    public class CustomList : TagHelper
    {
        [HtmlAttributeName("custom-tag")]
        public int Repeat { get; set; }
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            for (int i = 0; i < Repeat; i++)
            {
                output.Content.AppendHtml(
string.Format("
<ul>Hola Reconnect({0})</ul>
",i));
            }
        }
    }

Para utilizar estos tags primero nos tenemos que asegurar de añadir el prefijo de nuestros tags a la configuración de las vistas «ViewImports.cshtml»

inject
Luego solo lo tenemos que utilizar como cualquier otro control Html.

<ul custom-tag="5">
<li>Test</li>
</ul>

Como podéis comprobar ahora tenemos una herramienta súper potente que vive en una perfecta armonía con el desarrollo web. Está claro el movimiento de Microsoft acercando la herramienta y el desarrollo a un entorno mucho más amigable con los equipos de frontEnd.