Hola amig@s!! ¿No os ha pasado charlando con vuestros colegas que la conversación acaba en el uso de los Helpers en MVC y no sabíais que decir? Pues esa es la génesis de este post, el evitar esos silencios tan incomodos

Por su nombre podemos intuir que los helpers nos van a ayudar a algo, pero…. ¿exactamente a qué? Pues básicamente la función de los helpers es la de simplificar el código HTML que escribimos en una vista, tomándose la molestia de escribirlo por nosotros!! (Modo vago on ).

Los tipos de helpers más conocidos, y por ende utilizados son los HTML Helpers, grandes protagonistas de este post, pero otros secundarios como los URL Helpers o Ajax Helpers también nos harán ganar tiempo en algún momento.

Vamos a ver los más significativos:

 BeginForm: Nos genera el código para rellenar un formulario, con la llamada al controlador y el método a utilizar. Por ejemplo, si estamos creando la Vista de la acción Alta del controlador del Almacén y escribimos

@using (Html.BeginForm()) {}

El resultado final sería:

       <form action=“/Almacen/Alta” method=“post”>

        </form>

ActionLink: Este helper nos crea un link con una llamada a una vista concreta del propio controlador o de otro diferente.

@Html.ActionLink(“Ver productos“,”Index“,”Producto“)

Dentro del ActionLink definimos el texto que queremos que muestre el link, la acción del controlador(o vista donde queremos ir) y el controlador de la acción (solo es necesario que lo escribamos si es diferente del de la vista)

 Label y LabelFor: Con el primero generamos un nombre literal para un label, mientras que el segundo nos escribiría el nombre de la propiedad a la que llamamos

@Html.Label(“Demarcacion“)

<br/>

@Html.LabelFor(model=>model.posicion.Demarcacion)

El código anterior nos generaría en la vista lo siguiente:

Demarcacion

Posicion en el Campo

Como se puede observar, podemos cambiar el nombre de la propiedad que nos muestra el LabelFor mediante el atributo [DisplayName] en el modelo.

 Editor y EditorFor. Estos helpers nos generan un input text, muy, muy útiles para rellenar formularios. Para un uso mucho más dinámico os aconsejo utilizar el EditorFor, que junto con una pequeña expresión lambda nos ahorrará mucho tiempo a la hora de generar formularios.

@Html.EditorFor(model=>model.edad)

Además de los helpers tipo editor, existen otros primos hermanos con los que podemos dar a nuestros formularios un aspecto visualmente más atractivo. Son los helpers TextBoxFor, TextAreaFor, CheckBoxFor, RadioButtonFor, DropDownListFor, ListBoxFor…. Su propio nombre ya nos indica el tipo de input que Genera!! . Todos ellos tienen su equivalente sin el For, pero su uso nos implica tener que definirlos

DisplayNameFor y DisplayFor: Son los helpers que debemos utilizar si queremos hacer un listado para presentarlo a la vista. El primero nos muestra el nombre de la propiedad (se comporta como el LabelFor visto antes), lo utilizaremos para el encabezado de nuestro listado. El DisplayFor, como habréis podido deducir, nos mostrará los valores que tenga almacenada la propiedad en la base de datos, por lo que lo deberíamos utilizar dentro de un foreach

@foreach (var item in Model)
{
<tr style=”text-align: center“>
<td>
@Html.DisplayFor(modelItem => item.Nombre)
</td>
<td>
@Html.DisplayFor(modelItem => item.Demarcacion)
</td>
<td>
@Html.DisplayFor(modelItem => item.Edad)
</td>
<td>
@Html.DisplayFor(modelItem => item.Extracomunitario)
</td>
</tr>

}

Recomiendo utilizarlos en una vista parcial, esta nos permitirá simplificar nuestro código en la vista en la que vayamos a utilizarlos, y podremos reutilizarla en otras vistas si la guardamos en la carpeta Views/Shared

 ValidationMessageFor: Este Helper, utilizado en un formulario nos mostrará un mensaje de error en la pantalla si hay un error de validación.

 Partial: Con este helper, podremos cargar una vista parcial dentro de nuestra vista, tenemos en primer lugar que incluir la vista parcial, y en segundo lugar hacemos la llamada al Modelo

@Html.Partial(“_listado“, Model)

Así pues, tras este breve repaso de los helpers mas significativos, podemos concluir que el uso de los Helpers nos proporciona rapidez a la hora de escribir, y nos minimiza los errores de código en la vista.

Sin mas me despido….. Nos vemos en los bares !!


Autor: Daniel Corregidor Coronado

Alumno Microsoft MCSD 2015-16

Centro:Tajamar

Echa un vistazo a mi GitHub