ASP.NET MVC - Assistants HTML

Les assistants HTML sont utilisés pour modifier la sortie HTML.

Assistants HTML

Par MVC, les assistants HTML sont similaires aux contrôles Web Form traditionnels de ASP.NET.

Similaires aux contrôles web form de ASP.NET, les assistants HTML sont utilisés pour modifier le HTML. Cependant, les assistants HTML sont plus légers. Contrairement aux contrôles web form, les assistants HTML n'ont pas de modèle d'événements et de view state.

Dans la plupart des cas, les assistants HTML ne sont que des méthodes retournant des chaînes de caractères.

Avec MVC, vous pouvez créer vos propres assistants ou utiliser les assistants HTML intégrés.

Assistants HTML standard

MVC contient la plupart des assistants standard pour les éléments HTML courants, comme les liens HTML et les éléments de formulaires HTML.

Lien HTML

La manière la plus simple de présenter un lien HTML est d'utiliser l'assistant Html.ActionLink().

Par MVC, Html.ActionLink() ne se connecte pas à la vue. Il crée un lien vers l'opération du contrôleur (controller action).

Syntaxe Razor :

@Html.ActionLink("À propos de ce site", "About")

Syntaxe ASP :

<%=Html.ActionLink("À propos de ce site", "About")%>

Le premier paramètre est le texte du lien, le deuxième paramètre est le nom de l'opération du contrôleur.

Le assistant Html.ActionLink() génère le HTML suivant :

<a href="/Home/About">À propos de ce site</a>

Les paramètres de l'assistant Html.ActionLink() :

Paramètres Description
linkText Texte interne de l'élément de repère.
actionName Nom de l'opération.
controllerName Nom du contrôleur.
protocol Protocole de l'URL, comme "http" ou "https".
hostname Nom d'hôte de l'URL.
fragment Nom de fragment de l'URL (nom de repère).
routeValues Un objet contenant les paramètres de route.
htmlAttributes Un objet contenant les attributs HTML à définir pour cet élément.

Remarque :Vous pouvez transmettre des valeurs aux opérations du contrôleur. Par exemple, vous pouvez transmettre l'ID d'un enregistrement de base de données à une opération d'édition de base de données.

Syntaxe Razor C# :

@Html.ActionLink("Modifier l'enregistrement", "Edit", new {Id=3})

Syntaxe Razor VB :

@Html.ActionLink("Modifier l'enregistrement", "Edit", New With{.Id=3})

Le assistant Html.ActionLink() génère le HTML suivant :

<a href="/Home/Edit/3">Modifier l'enregistrement</a>

Éléments de formulaires HTML

Les assistants HTML suivants peuvent être utilisés pour afficher (modifier et exporter) les éléments de formulaires HTML :

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

Syntaxe ASP.NET C# :

<%= Html.ValidationSummary("La création a échoué. Veuillez corriger les erreurs et 
essay à nouveau.") %>
<% using (Html.BeginForm()){%>
<p>
<label for="FirstName">Nom:</label>
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>
<label for="LastName">Nom de famille:</label>
<%= Html.TextBox("LastName") %>
<%= Html.ValidationMessage("LastName", "*") %>
</p>
<p>
<label for="Password">Mot de passe:</label>
<%= Html.Password("Password") %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>
<label for="Password">Confirmez le mot de passe:</label>
<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>
<label for="Profile">Profil:</label>
<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>
<label for="ReceiveNewsletter" style="display:inline">Recevoir la newsletter?</label>
</p>
<p>
<input type="submit" value="Inscription" />
</p>
<%}%>