2011-09-26 2 views
0

Sur mon site Web, lorsque l'utilisateur se connecte, je souhaite afficher le nom d'utilisateur et également afficher un bouton de déconnexion.asp.net mvc3 Travailler avec des pages maîtres

Dans ASP.NET 4.0, nous pourrions utiliser le code derrière le fichier de la page maître pour écrire du code pour une chose courante comme celle-ci. Mais je ne sais pas comment y parvenir dans MVC3. Je ne voudrais pas passer le nom d'utilisateur sur chaque vue de page et ajouter le lien d'action de déconnexion sur chaque contrôleur.

Quelqu'un peut-il suggérer un meilleur moyen?

Merci

Saarthak

Répondre

1

Vous pouvez utiliser une partie. Le modèle par défaut fait exactement cela. Créez une nouvelle application ASP.NET MVC 3 à l'aide de l'assistant intégré et examinez le partiel _LogOnPartial.cshtml qui a été généré pour vous et qui est appelé dans _Layout.cshtml en utilisant @Html.Partial("_LogOnPartial").

Cela ressemble partiel comme celui-ci:

@if(Request.IsAuthenticated) { 
    <text>Welcome <strong>@User.Identity.Name</strong>! 
    [ @Html.ActionLink("Log Off", "LogOff", "Account") ]</text> 
} 
else { 
    @:[ @Html.ActionLink("Log On", "LogOn", "Account") ] 
} 

Il vérifie si l'utilisateur est authentifié et si elle est elle l'accueille et fournit un lien de fermeture de session et s'il ne fournit simplement un lien de connexion.

choses même si vous utilisez le moteur WebForms voir:

LogOnUserControl.ascx qui est appelé à partir Site.Master à l'aide <% Html.RenderPartial("LogOnUserControl"); %>.

Questions connexes