Aller au contenu

Cheat Sheet Razor .NET Core

Introduction

Razor est un moteur de template de syntaxe qui permet de combiner du code C# avec du HTML de manière propre et lisible. Il est largement utilisé dans les applications ASP.NET Core pour la création de vues dynamiques.

Syntaxe de Base

Code C# dans Razor

@{ var message = "Bonjour, Monde!"; }
<p>@message</p>

Expressions C# Inline

<p>Le résultat est: @("Hello, " + "World!")</p>

Commentaires Razor

@* Ceci est un commentaire Razor *@

Directives Importantes

@using MonProjet.Models // Importer un espace de nom @model
MonProjet.Models.MonModele // Spécifier le modèle de vue @inject MonService
myService // Injection de service @inherits MaClasseDeBase // Inhérer d'une
classe de base @functions { // Ajouter des fonctions C# custom }

Boucles et Conditions

Conditionnelle if

@if (Model.IsLoggedIn) {
<p>Bienvenue, @Model.UserName!</p>
} else {
<p>Veuillez vous connecter.</p>
}

Boucle for

@for (int i = 0; i < 10; i++) {
<p>Numéro: @i</p>
}

Boucle foreach

@foreach (var item in Model.Items) {
<p>@item.Name</p>
}

Liens et Actions

Générer un lien d'action

<a asp-controller="Home" asp-action="Index">Accueil</a>

Lien avec paramètres

<a asp-controller="Produit" asp-action="Détails" asp-route-id="@item.Id"
  >Voir Détails</a
>

Affichage Conditionnel et Boucles

Boucle while

@{ int i = 0; while (i < 5) {
<p>Compteur: @i</p>
i++; } }

Condition switch

@switch (Model.TypeUtilisateur) { case "Admin":
<p>Vous avez les privilèges d'administrateur.</p>
break; case "Utilisateur":
<p>Bienvenue, utilisateur.</p>
break; default:
<p>Type utilisateur inconnu.</p>
break; }

Helpers HTML

Label et Input

@Html.LabelFor(model => model.Nom) @Html.TextBoxFor(model => model.Nom)

Checkbox et Radio Button

@Html.CheckBoxFor(model => model.EstActif) @Html.RadioButtonFor(model =>
model.Genre, "Homme") @Html.RadioButtonFor(model => model.Genre, "Femme")
@Html.DropDownListFor(model => model.CatégorieId, new
SelectList(Model.Catégories, "Id", "Nom"))

Validation et Messages d'Erreur

Afficher les erreurs de validation

@Html.ValidationSummary(true) @Html.ValidationMessageFor(model => model.Nom)

Partials et Layouts

Utiliser un Layout

@{ Layout = "_Layout.cshtml"; }

Rendu d'une vue partielle

@Html.Partial("_PartialView", Model.PartieDeLaVue)

Sections et Rendu

@section Scripts {
<script src="monScript.js"></script>
}

Inclusion de fichiers JS et CSS

@section Styles {
<link rel="stylesheet" href="~/css/site.css" />
}