2010-01-08 4 views
0

J'espère pouvoir m'expliquer ... J'ai un contrôle de connexion dans la page maître. Lorsque vous cliquez sur le bouton de connexion, vous accédez à la méthode d'ouverture de session de accountcontroller qui vérifie vos informations d'identification. que ce soit ok ou pas, vous serez redirigé vers la page d'accueil avec un redirecttoaction ("home", "index"). mais, en cas d'échec de la connexion, je souhaite afficher un message à l'utilisateur. donc ce que j'ai essayé était de définir viewdata dans la méthode d'ouverture de session (viewdata ["logon"] = "failed") puis vérifiez dans la masterpage si cette viewdata était présente et si c'est le cas, restituez du texte. mais si je comprends bien les viewdata ne sont pas conservés avec la méthode redirect to action. Quelle est la meilleure façon de m'assurer que ma méthode d'ouverture de session peut, d'une manière ou d'une autre, informer mon affichage de masterpage que l'ouverture de session a échoué?asp.net mvc: passer des informations entre 2 contrôleurs à la vue

Michel

+0

En savoir plus sur TempData Voir: http://www.persistall.com/archive/2007/12/22/asp.net-mvc-a-ha-moment-tempdata--flash.aspx []'s –

+0

Voir ce projet pour envoyer FlashMessages dans votre application http://maff.ailoo.net/2009/06/build-a-flashmessenger-system-in-aspnet-mvc/ Je suppose que cela peut vous aider! [] –

Répondre

3

Si je lis correctement votre question, votre problème est que vous devez définir une valeur dans votre action qui doit être disponible après RedirectToAction. Vous devez définir une clé dans Tempdata.

TempData["MessageToUser"] = "I dont let you in dude!" 

TempData est toujours disponible après une redirection.

+1

oui, c'est correct. Mais tempdata est stocké en session, n'est-ce pas? le reste de l'application fonctionne sans sessiontate, et je ne pense pas que je suis autorisé à introduire des sessionstate pour celui-ci ... – Michel

+0

Oui, vous avez raison à ce sujet. –

1

Découvrez MvcContrib. Queen3 quelque part mentionné qu'ils ont guérir pour cette
(transmission d'informations entre les redirections).

Mais il serait préférable de créer une vue séparée pour l'authentification. Alors le problème disparaîtrait simplement.

+0

hmm, bien que. peut-être une forme ajax, alors je n'ai pas de publication et une vue séparée. – Michel

+0

AJAX pour le formulaire d'authentification n'est pas une bonne idée non plus. –

+0

hmm, est logique, pense que je vais faire un redirecttoaction sur le succès, et une vue de retour ("") en cas d'échec. dans ce dernier cas, la viewdata sera conservée – Michel

Questions connexes