2010-03-17 6 views
2

J'ai vue comme 'home/details/5', il peut être accès par un utilisateur anonyme. mais il y a un bouton, qui ne peut être appuyé que par les utilisateurs enregistrés. pas de problème, je peux regarder dans Request.IsAuthenticated, et si anonyme je montre le bouton de connexion à la place du bouton secretcréer manuellement le paramètre ReturnUrl

mais le problème- lorsque appuyez sur login je peux perdre l'adresse et les paramètres de la page. comment puis-je créer un bouton de connexion et passer un paramètre ReturnUrl? quelque chose comme

<%= Html.ActionLink("enter to buy", "LogOn", "Account", new { ReturnUrl = path to view with route value })%> 

Je ne vois que la solution stupide

<%= Html.ActionLink("enter to buy", "LogOn", "Account", new { ReturnUrl = "home/details/" + ViewContext.RouteData.Values["id"] })%> 

mais je ne suis pas comme les noms de code dur du contrôleur

Répondre

5

Vous pouvez également utiliser Request.Url.AbsolutePath.

<%= Html.ActionLink("enter to buy", "LogOn", "Account", 
    new { ReturnUrl = Request.Url.AbsolutePath })%> 
Questions connexes