14-4 Accéder à la session dans une vue
Il est commun de devoir accéder à certaines données de la session à partir des vues. Par exemple, on pourrait vouloir afficher un bouton Panier
dans la barre de navigation, seulement si des items sont présents. Ou afficher le bouton en tout temps, mais afficher le nombre d'items dans le panier.
Pour accéder à la session à partir de la vue, on peut utiliser Context.Session
.
Par exemple, pour afficher un bouton panier dans la barre de navigation, seulement s'il y a des items dans le panier, et donc que la clé "panier" est attribuée:
Snowfall.Web.Mvc/Views/Shared/_Layout.cshtml
<!-- ... -->
<ul class="navbar-nav flex-grow-1">
<li class="nav-item">
<a
class="nav-link @(controller == "Evenements" && action == "Index" ? "active" : "")"
asp-controller=""
asp-action="">
Accueil
</a>
</li>
</ul>
<ul class="navbar-nav">
@if (Context.Session.GetString("panier") != null)
{
<li class="nav-item">
<a asp-controller="Panier" asp-action="Index" class="btn btn-outline-secondary">
Panier
</a>
</li>
}
</ul>
<!-- ... -->