ASP.NET MVC - Ayudantes HTML

Los ayudantes HTML se utilizan para modificar la salida HTML.

Ayudantes HTML

A través de MVC, los ayudantes HTML son similares a los controles de Web Form tradicionales de ASP.NET.

Al igual que los controles de web form de ASP.NET, los ayudantes HTML se utilizan para modificar HTML. Sin embargo, los ayudantes HTML son más ligeros. A diferencia de los controles de web form, los ayudantes HTML no tienen modelo de eventos y view state.

En la mayoría de los casos, los ayudantes HTML son simplemente métodos que devuelven cadenas de texto.

A través de MVC, puede crear sus propios ayudantes o usar los ayudantes HTML integrados.

Ayudantes estándar de HTML

MVC incluye ayudantes estándar para la mayoría de los tipos de elementos HTML comunes, como enlaces HTML y elementos de formularios HTML.

Enlace HTML

El método más simple para presentar un enlace HTML es usar el ayudante Html.ActionLink().

A través de MVC, Html.ActionLink() no se conecta a la vista. Crea una conexión a la acción del controlador (controller action).

Sintaxis de Razor:

@Html.ActionLink("Acerca de este sitio web", "About")

Sintaxis de ASP:

<%=Html.ActionLink("Acerca de este sitio web", "About")%>

El primer parámetro es el texto del enlace, el segundo parámetro es el nombre de la operación del controlador.

El ayudante Html.ActionLink() anterior, produce el siguiente HTML:

<a href="/Home/About">Acerca de este sitio web</a>

Varios parámetros del ayudante Html.ActionLink():

Parámetros Descripción
linkText Texto interno del elemento de ancla.
actionName Nombre de la operación.
controllerName Nombre del controlador.
protocol Protocolo de la URL, como "http" o "https".
hostname Nombre del anfitrión de la URL.
fragment Nombre del fragmento de la URL (nombre del ancla).
routeValues Un objeto que contiene los parámetros de la ruta.
htmlAttributes Un objeto que contiene las características HTML que se deben establecer para ese elemento.

Notas:Puede pasar valores a las operaciones del controlador. Por ejemplo, puede pasar el id del registro de la operación de edición de la base de datos.

Sintaxis Razor C#:

@Html.ActionLink("Editar Registro", "Edit", new {Id=3})

Sintaxis Razor VB:

@Html.ActionLink("Editar Registro", "Edit", New With{.Id=3})

El ayudante Html.ActionLink() anterior, produce el siguiente HTML:

<a href="/Home/Edit/3">Editar Registro</a>

Elementos de formulario HTML

Los siguientes ayudantes HTML se pueden utilizar para presentar (modificar y salida) elementos de formularios HTML:

  • BeginForm()
  • EndForm()
  • TextArea()
  • TextBox()
  • CheckBox()
  • RadioButton()
  • ListBox()
  • DropDownList()
  • Hidden()
  • Password()

Sintaxis ASP.NET C#:

<%= Html.ValidationSummary("La creación no fue exitosa. Por favor, corrija los errores y 
intente de nuevo.") %>
<% using (Html.BeginForm()){%>
<p>
<label for="Nombre">Nombre:</label>
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>
<label for="LastName">Apellido:</label>
<%= Html.TextBox("LastName") %>
<%= Html.ValidationMessage("LastName", "*") %>
</p>
<p>
<label for="Password">Contraseña:</label>
<%= Html.Password("Password") %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>
<label for="Password">Confirmar Contraseña:</label>
<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>
<label for="Profile">Perfil:</label>
<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>
<label for="ReceiveNewsletter" style="display:inline">¿Recibir boletín informativo?</label>
</p>
<p>
<input type="submit" value="Registrar" />
</p>
<%}%>