Dans une vue en ASP.NET MVC Je peux accéder aux profils et aux membres profil comme celui-ci:Comment obtenez-vous la variable Profile rempli dans une vue dans ASP.NET MVC?
<%= Profile.Name %> - <%= Profile.Karma %>
mais comment puis-je obtenir la variable de profil peuplé? Il semble être dans HttpContext.Current.Profile. J'ai écrit une classe profil personnalisé avec une méthode CurrentUser qui ressemble à ceci:
static public Profile CurrentUser {
get {
return (Profile) (ProfileBase.Create(Membership.GetUser().UserName));
}
}
Je cette classe pointée dans mon web.config:
<profile inherits="MyProject.Models.Profile" defaultProvider="AspNetSqlProfileProvider" enabled="true">
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
Ce:
var p = CurrentUser.Profile
avec succès me donne le profil, mais je ne peux pas le définir comme ceci:
HttpContext.Profile = CurrentUser.Profile;
car HttpContext.Profile est en lecture seule. Je reçois l'erreur:
Error 18 Property or indexer 'System.Web.HttpContextBase.Profile' cannot be assigned to -- it is read only C:...\Controller.cs 26 17 MyProject
, je dois aussi le profil à affecter à chaque point de vue, de sorte que le nom de l'utilisateur connecté peut être affiché en haut à droite de la manière habituelle. Comment dois-je le faire?
Vous n'accédez jamais au profil. – Pablo
Je peux mal comprendre votre but ici, puisque vous voulez "le nom de l'utilisateur connecté peut être affiché en haut à droite de la manière habituelle", je viens d'offrir ma façon de le faire. –
Mais c'est le nom d'utilisateur, pas le nom. – Pablo