TOC

This article has been localized into Spanish by the community.

Tag Helpers:

Tag Helpers para Formularios

Los "Tag Helpers" para Formularios te asistirán en la generación de las etiquetas del formulario, que deben estar al rededor de cualquier elemento de éste formulario que desees enviar de vuelta al servidor, por ejemplo, incluyendo campos de entrada, áreas de texto, etc. Cuando se usan "Tag Helpers" para formularios, en comparación a escribir todo el código Markup manualmente, te beneficiarás de las siguientes cosas:

  • Puedes referenciar al Controlador y la Acción a la que enviarás el formulario fácilmente, o incluso referenciar una ruta
  • Una ficha oculta de verificación de requerimiento es automáticamente generada y agregada al formulario, para ayudar a protegerte contra la falsificación de solicitudes entre sitios

Atributos de Controlador y Acciones

La forma más fácil y tal vez la más común de usar los "Tag Helpers" para formularios, es con los atributos de Controlador y Acciones. Esto permite especificar a que Acción y en que Controlador quieres que el formulario sea enviado. Por ejemplo:

<form method="post" asp-controller="Blog" asp-action="UpdateEntry"></form> 

Fíjate como se mezclan atributos regulares de HTML (el atributo method) con atributos "Tag Helper" (asp-controller y asp-action). La Forma resultante lucirá como sigue:

<form method="post" action="/Blog/UpdateEntry">  
    <input name="__RequestVerificationToken" type="hidden" value="CfDJ8IVs_IPAjddLnF3cGQU5ywNWoiF_3N0ZpjIkXnpjYFazt7cZcCPogKdTTfI7sFI7JyxIpH8ofcou78e5K7b8vUZcWpKZmvqU3e8nzumwm6WaHWXNMnQSvIB6P_Ok0mVwUloJN4MAkDxhxHlU71iJxqY">  
</form>

Como puedes ver, el "Tag Helper" ha convertido los valores de ambos atributos (controlador y acción) en el atributo de Formulario HTML action/Blog/UpdateEntry. Al mismo tiempo, un campo de entrada oculto fue generado que guardar la ficha de verificación de solicitud.

El atributo Route

Como puedes ver arriba, apuntar al Controlador y al método de acción es fácil - simplemente especificas el nombre del controlador y el nombre del método de acción. Sin embargo, como alternativa, puedes querer apuntar a una ruta especifica - la ruta será entonces la responsable de llegar a la acción deseada. Esto se puede hacer usando el atributo asp-route y aquí hay un pequeño ejemplo para ilustrarlo:

<form method="post" asp-route="UpdateBlogEntry"></form>

El valor especificado en la propiedad asp-route debería ser igual al nombre de la ruta a la que quieres apuntar, p.ej. así:

[Route("Blog/Update", Name = "UpdateBlogEntry")]  
public IActionResult Update()  
{  
    .....

Nuevamente, el atributo action simplemente será llenado con la URL apropiada:

<form method="post" action="/Blog/Update">
    .....

Anexando parámetros de ruteo

La ruta a la que deseas apuntar podría tener uno o más parámetros que pudieras necesitar pasar desde tu formulario. Esto puede lograse usando la siguiente sintaxis:

asp-route-[parameter-name]="value"

Así, si el nombre de tu parámetro es id, entonces la etiqueta de formulario debería verse como sigue:

<form method="post" asp-route="UpdateBlogEntry" asp-route-id="42"></form>

Por supuesto, en la mayoría de las situaciones, el valor debería ser dinámico y venir de p.ej. tu Modelo, como sigue:

<form method="post" asp-route="UpdateBlogEntry" asp-route-id="@Model.Id"></form>

El resultado se verá como a continuación:

<form method="post" action="/Blog/Update?id=42">
    .....

Más opciones

Estos fueron los atributos mas relevantes y comúnmente usados para los "Tag Helper" para Formularios. Para una completa lista de opciones y posibilidades, por favor revise la siguiente documentación.

Sumario

Los "Tag Helpers" para formularios te ayudan a generar el formulario HTML correcto, mientras que además agregan seguridad a tu solución con token de verificación de solicitudes que se agregan automáticamente.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!