2010-02-08 11 views
4

J'ai une page d'édition qui est utilisée à partir de différentes sources. Après l'édition, je voudrais rediriger l'utilisateur à la page d'origine. Plus tôt, j'ai utilisé ID (donné en paramètre) et Action (codé en dur) pour rediriger l'utilisateur vers certaines pages, mais des problèmes surviennent lorsque de nombreuses pages différentes peuvent accéder à la même page d'édition.Rediriger l'utilisateur vers la page d'origine

Des suggestions pour gérer cette situation? Devrais-je stocker l'URL complète et la transmettre en tant que paramètre? Y a-t-il des problèmes connus avec cela (longueur de chaîne, etc.)?

+0

En perl CGI c'est pour quoi referer() est, pour vous dire quelle page liée au script en cours. Je ne suis pas un programmeur ASP, mais ne peut pas dire ASP quelle page a appelé la page d'édition? – Paul

+0

Merci pour le commentaire. Je pense qu'il y a, mais ce que je pensais est-ce A) MVC façon de le faire? B) Des problèmes d'utilisation de ce type de solution? – Tx3

Répondre

2

Vous pouvez utiliser le paramètre de chaîne de requête "ReturnUrl" comme vous l'avez suggéré ou Request.UrlReferer.

+1

Merci, je vais essayer celui-là. Je dois "porter" cette url quelques étapes parce que j'utilise une interface utilisateur semblable à un assistant sur cette page d'édition – Tx3

2

J'utilise quelque chose comme ça quand j'ai besoin de la page de référence.

var referrer = HttpContext.Request.UrlReferrer; if (referrer! = Null) { return Redirection (referrer.ToString()); } return RedirectToAction ("Index");