ASP.NET MVC - Assistants HTML


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


Assistants HTML

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

Tout comme les contrôles Web Form dans 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énement ni d'état d'affichage.

Dans la plupart des cas, un assistant HTML est simplement une méthode qui renvoie une chaîne.

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


Helpers HTML standard

MVC inclut des helpers standard pour les types d'éléments HTML les plus couramment utilisés, tels que les liens HTML et les éléments de formulaire HTML.


Liens HTML

La façon la plus simple de générer un lien HTML est d'utiliser le helper Html.ActionLink().

Avec MVC, Html.ActionLink() ne pointe pas vers une vue. Il crée un lien vers une action de contrôleur.

Syntaxe Razor :

@Html.ActionLink("About this Website", "About")

Syntaxe ASP :

<%=Html.ActionLink("About this Website", "About")%>

Le premier paramètre est le texte du lien, et le second paramètre est le nom de l'action du contrôleur.

Le helper Html.ActionLink() ci-dessus produit le HTML suivant :

Quelques attributs de l'assistant Html.ActionLink() :

Attribut Description
.linkText Texte de l'URL (libellé), le texte interne de l'élément d'ancrage.
.actionName Le nom de l'action.
.routeValues La valeur transmise à l'action, un objet contenant les paramètres d'itinéraire.
.controllerName Le nom du contrôleur.
.htmlAttributes Paramètres des attributs d'URL, un objet contenant les attributs HTML à définir pour l'élément.
.protocol Protocole d’URL, tel que "http" ou "https".
.hostname Le nom d’hôte de l’URL.
.fragment Nom du fragment d’URL (nom d’ancre).

Remarque :Vous pouvez passer des valeurs à une action de contrôleur. Par exemple, vous pouvez passer l’id d’un enregistrement de base de données à l’action Edit de la base de données :

Syntaxe Razor C# :

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

Syntaxe Razor VB :

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

Le helper Html.ActionLink() ci-dessus produit le HTML suivant :


Éléments de formulaire HTML

Les helpers HTML suivants peuvent être utilisés pour afficher (modifier et générer) les éléments de formulaire 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 réessayer.") %>
<% using (Html.BeginForm()){%>
<p>

<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>

<%= Html.TextBox("LastName") %>
<%= Html.ValidationMessage("LastName", "*") %>
</p>
<p>

<%= Html.Password("Password") %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>

<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>

<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>

</p>
<p>
<input type="submit" value="S'inscrire" />
</p>
<%}%>


Autres extensions