Aller au contenu principal

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>

<!-- ... -->