J'ai cet exemple de code :
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%
if (Request.IsAuthenticated) {
%>
Welcome <b><%= Html.Encode(Page.User.Identity.Name) %></b>!
Le problème, c'est que je mets le numéro de l'utilisateur id et non le nom dans le champ "nom d'utilisateur" :
User user = _userRepository.Get(...);
FormsAuthentication.RedirectFromLoginPage(user.Id.ToString(), false);
Le premier exemple de code est inclus dans la vue principale et apparaît donc dans toutes les vues. Ce que je ne comprends pas, c'est comment transmettre à cette vue l'entité modèle User, puisque je ne l'appelle pas directement.
Modifier : Existe-t-il un point unique dans le traitement d'une requête HTTP où je peux intervenir pour injecter l'objet modèle User dans la ViewData ? Je ne voudrais pas toucher à chaque contrôleur+action pour y parvenir.