TOC

This article has been localized into Spanish by the community.

Tag Helpers:

Tag Helper para Formas

Los "Tag Helpers" para Formas te asistirán en la generación de las etiquetas de la FORMA, que deben estar al rededor de cualquier elemento de éste formulario que desees enviar de vuelta al servidor, por ejemplo, incluyendo campos de entrada, areas de texto, etc. Cuando se usan "Tag Helper" para Formas, 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 la FORMA fácilmente, o incluso referenciar una ruta
  • Una ficha oculta de verificación de requerimiento es automáticamente generada y agregada a la FORMA, 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 Helper" para Formas, es con los atributos de Controlador y Acciones. Esto permite especificar a que Acción en que Controlador quieres que la Forma sea enviada. Como 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 Forma. 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 FORMA 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 FORMAS te ayudan a general la Forma HTML correcta, mientras que además agregan seguridad a tu solución con fichas de verificación de solicitudes que se agregar 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!