2009-10-14 8 views
1

J'utilise un LoginBox placé dans MasterPage afin que l'utilisateur puisse se connecter à partir de n'importe quelles pages du site.LoginBox dans MasterPage avec ASP.NET MVC

L'action de forme est déclarée par

<% using (Html.BeginForm("LogOn", "Account", FormMethod.Post)) 

mais après le POST et si la connexion a échoué se produit que je dois rester sur la même page et l'affichage des messages de validation. Alors comment puis-je rester sur la page d'appel et ne pas être redirigé vers Account LogOn View?

Merci.

Répondre

0

Ainsi, le poste va votre contrôleur de compte, l'action LogOn. Je vous recommande d'appeler une action « Authentifier » au lieu ...

<% using (Html.BeginForm("Authenticate", "Account", FormMethod.Post)) 

De cette façon, votre action ferait l'un et auth d'authentification au déboutés retour View() et un sucess vous emmènerais à la vue LoggedIn.

0

Vous pouvez ajouter champ ReturnURL dans votre formulaire de connexion:

using (Html.BeginForm("LogOn", "Account", FormMethod.Post, new { @returnurl=Request.Uri.AbsolutePath })) 

et dans votre action Account.LogOn rediriger

ActionResult LogOn(Form form) { ... check login/password ... return Redirect(form["returnurl"])}