C# ASP.Net MVC: RedirectFromLoginPage va toujours à l'url par défaut, et de ne pas returnurl

J'ai un MVC4 application avec l'Appartenance à l'ouverture de session (par FormsAuthentication).

Cela est défini dans le web.config comme suit.
Mon url par défaut est la maison de la racine (~/):

<roleManager enabled="true" />
<authentication mode="Forms">
  <forms defaultUrl="~" loginUrl="~/Account" />
</authentication>

Dans mon AccountController dans la Connexion de la méthode post, le code suivant est pertinent.
Ce code est exécuté lorsque l'utilisateur clique sur la connexion avec des informations d'identification valides.

if (Membership.ValidateUser(creds.Username, creds.Password))
{
    FormsAuthentication.RedirectFromLoginPage(creds.Username, false);
    return null;
}

Maintenant, si je suis la navigation (de façon anonyme): ~/Admin, j'ai redirigé vers ~/Compte pour se connecter, ce qui est parfait. Je peux voir que l'url est formé de la façon suivante:

http://localhost:23759/Account?ReturnUrl=%2fAdmin

Mais, quand j'ai réussi à la connexion, j'ai redirigé vers la maison (~/) au lieu de ~/Admin

S'il vous plaît aider!
Merci beaucoup!

Edit: Trouvé le problème réel: c'était la méthode post qui n'était pas à la réception de la querystring

À partir de MSDN (msdn.microsoft.com/en-us/library/ka5ffkce.aspx): "Si le ReturnURL variable n'existe pas, le RedirectFromLoginPage méthode redirige vers l'URL dans la DefaultUrl de la propriété." Ressemble .NET ne sais pas Admin existe. Peut-être que la barre oblique (%2f) est à l'origine du problème?

OriginalL'auteur Recipe | 2013-09-13