J'ai un contrôle de vue/utilisateur partiel appelé LogOnUserControl que je montre dans une barre latérale sur mon site (définie dans Site.Master). J'ai également une vue LogOn distincte, qui rend également le LogOnUserControl.ASP.NET MVC: comment afficher une vue partielle sur toutes les vues sauf une?
Je ne veux pas deux instances du LogOnUserControl dans la vue LogOn, parce qu'il est tout simplement déroutant, donc ma pensée actuelle est d'inclure une condition telle que
// Semi-pseudocode
if (!Request.IsAuthenticated) && View.Name != "LogOn")
dans le LogOnUserControl.
Ceci est incorrect, car la vue partielle connaît maintenant la vue LogOn. En outre, je ne peux pas trouver comment obtenir le nom de la vue, ce qui renforce le sentiment que je fais quelque chose de mal! :-)
Modifier: Il existe une autre complication: la même vue partielle est utilisée pour la vue LogOn et la barre latérale dans Site.Master.
Cette solution résout le problème beaucoup plus rapidement et facilement que celle impliquant des pages maîtres imbriquées. – alastairs